minhas informações de contato
Correspondência[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Prepare o ambiente:
- VMware17
- Ubuntu18.04(LTS): https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
Documentos relacionados ao Docker:
- endereço do site oficial do docker: https://www.docker.com/
- endereço de documentação do docker: https://docs.docker.com/
- armazém de imagens docker: https://hub.docker.com/
1. O que é docker: é um mecanismo de contêiner de código aberto que pode gerenciar contêineres facilmente, e os contêineres são isolados uns dos outros usando um mecanismo de sandbox.
2. Qual problema o docker resolve: resolve o problema de migração do ambiente de software.
3. A diferença entre contêineres e máquinas virtuais:
4. armazenamento do docker:
-v /宿主机目录:容器目录
数据卷:容器目录
5. Rede Docker: Crie uma rede personalizada para obter acesso ao nome do host como um nome de domínio estável. (Permite que contêineres na mesma rede se comuniquem entre si)
#示例
#自定义网络
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 artigo é baseado na instalação do ambiente Ubuntu. Se você não tiver permissões, basta adicionar sudo na frente.
1. Desligue o firewall (não há necessidade de expor manualmente a porta para acesso externo posterior, o que é conveniente para teste)
sudo ufw disable
#关闭防火墙:sudo ufw disable
#查看防火墙状态:sudo ufw status
#开启防火墙:sudo ufw enable
2. Instale a janela de encaixe
#卸载旧版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. Gerenciamento de status do serviço docker:
2. Gerenciamento de imagens Docker:
3. Gerenciamento de contêineres Docker:
4. Volume de dados do Docker:
Volume de dados: É uma pasta gerenciada pelo docker.
O uso de volumes de dados: você pode vincular um volume de dados a um caminho em um contêiner para realizar a transferência automática bidirecional de arquivos entre o contêiner e o host.
Coloque o arquivo no volume de dados do host: o docker sincronizará automaticamente o arquivo com o contêiner
Se os arquivos no contêiner forem alterados: o docker os sincronizará automaticamente com o volume de dados do host.
Comandos de operação de volume de dados:
Listar volumes de dados: docker volume ls
Crie um volume de dados: docker volume crie nome do volume de dados
Ver detalhes do volume de dados (caminho real): docker volume inspecionar nome do volume de dados
Excluir volume de dados: docker volume rm nome do volume de dados
Crie o contêiner e vincule o volume de dados:
docker run -di --name=nome do contêiner -v nome do volume de dados: caminho no nome da imagem do contêiner: tag
docker run -di --name=nome do contêiner -v caminho no host: caminho no nome da imagem do contêiner: tag
Nota: Todos os caminhos no parâmetro -v devem ser caminhos absolutos.
5. Backup de espelho:
Documentação: https://docs.docker.com/reference/dockerfile/
Função Dockerfile: Crie imagens personalizadas.
Dockerfile é baseado em uma imagem básica e escreve uma série de instruções docker. Cada instrução constrói uma camada de imagem. Por meio dessas instruções, camada por camada, uma imagem de destino é finalmente construída.
Instruções comuns | efeito |
---|---|
DE | Especifique o ambiente base da imagem |
CORRER | Execute o comando personalizado |
CMD | Comando ou parâmetros de inicialização do contêiner |
RÓTULO | Etiquetas personalizadas |
EXPOR | Especifique a porta exposta |
Ambiente | variáveis ambientais |
ADICIONAR | Adicione arquivos à imagem |
CÓPIA DE | Copiar arquivos para imagem |
PONTO DE ENTRADA | Comando de inicialização fixa do contêiner |
VOLUME | volume de dados |
DO UTILIZADOR | Especifique usuários e grupos de usuários |
TRABALHODIR | Especifique o diretório de trabalho padrão |
ARG | Especifique parâmetros de compilação |
Exemplo:
#编写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 .
Orquestração de serviços ou orquestração de contêineres: gerencie contêineres em lotes de acordo com determinadas regras de negócios.
Docker Compose é uma ferramenta de orquestração para definir e executar vários contêineres Docker.
Vários contêineres podem ser iniciados com um comando. Resolve principalmente o problema de como gerenciar e orquestrar contêineres.
Existem três etapas para usar o Docker Compose:
docker-compose.yml
Defina os serviços que compõem a aplicaçãodocker-compose up -d
Iniciar aplicativoInstale o 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
Se quiser desinstalar o docker-compose, você pode executar o seguinte comando:
# docker compose是二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
Comandos comuns 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 # 停止并删除容器
Exemplo:
1. Crie o diretório docker-compose
mkdir ~/docker-compose
cd ~/docker-compose
2. Escrevadocker-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. Comece
# !!!注意:必须先切换到有`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
cd ~/docker-compose
# docker-compose up -d 以守护进程方式创建并启动容器
docker-compose up -d