Mi información de contacto
Correo[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Preparar el ambiente:
- VMware17
- Ubuntu 18.04 (LTS): https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
Documentos relacionados con Docker:
- Dirección del sitio web oficial de Docker: https://www.docker.com/
- Dirección de documentación de Docker: https://docs.docker.com/
- almacén de imágenes de Docker: https://hub.docker.com/
1. Qué es Docker: es un motor de contenedores de código abierto que puede administrar contenedores fácilmente y los contenedores están aislados entre sí mediante un mecanismo de espacio aislado.
2. ¿Qué problema resuelve Docker? Resuelva el problema de migración del entorno de software.
3. La diferencia entre contenedores y máquinas virtuales:
Cuarto, almacenamiento en la ventana acoplable:
-v /宿主机目录:容器目录
数据卷:容器目录
5. Red Docker: cree una red personalizada para lograr el acceso al nombre de host como un nombre de dominio estable. (Permite que los contenedores de la misma red se comuniquen entre sí)
#示例
#自定义网络
docker network create mynet
#主节点
docker run -d -p 6379:6379
-v /app/rd1:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=master
-e REDIS_PASSWORD=123456
--network mynet --name redis01
bitnami/redis
#从节点
docker run -d -p 6380:6379
-v /app/rd2:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=slave
-e REDIS_MASTER_HOST=redis01
-e REDIS_MASTER_PORT_NUMBER=6379
-e REDIS_MASTER_PASSWORD=123456
-e REDIS_PASSWORD=123456
--network mynet --name redis02
bitnami/redis
Este artículo se basa en la instalación del entorno Ubuntu. Si no tiene permisos, simplemente agregue sudo al frente.
1. Apague el firewall (no es necesario exponer manualmente el puerto para acceso externo posterior, lo cual es conveniente para realizar pruebas)
sudo ufw disable
#关闭防火墙:sudo ufw disable
#查看防火墙状态:sudo ufw status
#开启防火墙:sudo ufw enable
2. Instalar la ventana acoplable
#卸载旧版docker
sudo apt-get remove docker docker-engine docker.io containerd runc
#更新软件包
sudo apt-get update
#安装一些工具
sudo apt-get install
apt-transport-https
ca-certificates
curl
gnupg-agent
software-properties-common
#安装docker
sudo apt install docker.io
#验证dokcer是否安装成功
docker --version
#启动& 开机启动docker; enable + start 二合一
sudo systemctl enable docker --now
#配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com"]
}
EOF
#重新加载配置
sudo systemctl daemon-reload
#重启docker服务
sudo systemctl restart docker
1. Gestión del estado del servicio Docker:
2. Gestión de imágenes de Docker:
3. Gestión de contenedores Docker:
4. Volumen de datos de Docker:
Volumen de datos: es una carpeta administrada por Docker.
El uso de volúmenes de datos: puede vincular un volumen de datos a una ruta en un contenedor para realizar una transferencia automática bidireccional de archivos entre el contenedor y el host.
Coloque el archivo en el volumen de datos del host: Docker sincronizará automáticamente el archivo con el contenedor.
Si los archivos en el contenedor cambian: Docker los sincronizará automáticamente con el volumen de datos del host.
Comandos de operación de volumen de datos:
Listar volúmenes de datos: volumen acoplable ls
Crear un volumen de datos: volumen acoplable crear nombre del volumen de datos
Ver detalles del volumen de datos (ruta real): volumen de Docker inspeccionar el nombre del volumen de datos
Eliminar volumen de datos: volumen docker nombre del volumen de datos rm
Cree el contenedor y vincule el volumen de datos:
docker run -di --name=nombre del contenedor -v nombre del volumen de datos: ruta en el nombre de la imagen del contenedor: etiqueta
docker run -di --name=nombre del contenedor -v ruta en el host: ruta en el contenedor nombre de la imagen: etiqueta
Nota: Todas las rutas del parámetro -v deben ser rutas absolutas.
5. Copia de seguridad espejo:
Documentación: https://docs.docker.com/reference/dockerfile/
Rol de Dockerfile: crear imágenes personalizadas.
Dockerfile se basa en una imagen básica y escribe una serie de instrucciones de Docker. Cada instrucción construye una capa de imagen. A través de estas instrucciones, capa por capa, finalmente se construye una imagen de destino.
Instrucciones comunes | efecto |
---|---|
DE | Especificar el entorno base de la imagen |
CORRER | Ejecutar comando personalizado |
Cmd | Comando o parámetros de inicio del contenedor |
ETIQUETA | Etiquetas personalizadas |
EXPONER | Especificar puerto expuesto |
ENV | Variables de entorno |
AGREGAR | Agregar archivos a la imagen |
COPIAR | Copiar archivos a imagen |
PUNTO DE ENTRADA | Comando de inicio fijo del contenedor |
VOLUMEN | volumen de datos |
USUARIO | Especificar usuarios y grupos de usuarios |
DIRECTORIO DE TRABAJO | Especificar el directorio de trabajo predeterminado |
ARG | Especificar parámetros de compilación |
Ejemplo:
#编写dockerfile文件
vim Dockerfile
FROM openjdk:17
LABEL author=aopmin
COPY app.jar /app.jar #把jar包复制到容器的根目录下
EXPOSE 8080
ENTRYPOINT ["java","-jar","app.jar"] #运行命令
# 构建镜像
docker bulid -f Dockerfile -t 镜像名:tag .
Orquestación de servicios u orquestación de contenedores: administre contenedores en lotes de acuerdo con ciertas reglas comerciales.
Docker Compose es una herramienta de orquestación para definir y ejecutar múltiples contenedores Docker.
Se pueden iniciar varios contenedores con un solo comando. Resuelve principalmente el problema de cómo gestionar y organizar contenedores.
Hay tres pasos para usar Docker Compose:
docker-compose.yml
Definir los servicios que componen la aplicación.docker-compose up -d
Iniciar aplicaciónInstale Docker-compose:
# 下载docker compose
curl -L https://github.com/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
# 设置权限
chmod +x /usr/local/bin/docker-compose
# 查看版本
docker-compose -version
Si desea desinstalar Docker-compose, puede ejecutar el siguiente comando:
# docker compose是二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
Comandos comunes para docker-compose:
# !!!注意:必须先切换到`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
#创建容器并后台启动
docker-compose up -d
#直接启动容器
docker-compose start
#其它命令:
docker-compose help # 查看帮助
docker-compose stop # 停止容器
docker-compose start # 启动容器
docker-compose restart # 重启容器
docker-compose rm # 删除已停止的容器
docker-compose down # 停止并删除容器
Ejemplo:
1. Cree el directorio Docker-Compose
mkdir ~/docker-compose
cd ~/docker-compose
2. Escribedocker-compose.yaml
documento
version: "3.0"
services:
redis:
container_name: redis
image: redis:5.0
ports:
- 6379:6379
nginx:
container_name: nginx
image: nginx:1.14.2
ports:
- 80:80
volumes:
- /root/volumes/nginx/html:/usr/share/nginx/html
tomcat:
container_name: tomcat
image: tomcat:8.5.88
ports:
- 8080:8080
volumes:
- /root/volumes/tomcat/webapps:/usr/local/tomcat/webapps
3. Empezar
# !!!注意:必须先切换到有`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
cd ~/docker-compose
# docker-compose up -d 以守护进程方式创建并启动容器
docker-compose up -d