le mie informazioni di contatto
Posta[email protected]
2024-07-12
한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina
Preparare l'ambiente:
- VMware17
- Ubuntu18.04(LTS): https://releases.ubuntu.com/18.04/ubuntu-18.04.6-desktop-amd64.iso
Documenti relativi a Docker:
- Indirizzo del sito web ufficiale di docker: https://www.docker.com/
- Indirizzo della documentazione docker: https://docs.docker.com/
- Magazzino di immagini docker: https://hub.docker.com/
1. Che cos'è Docker: è un motore di contenitori open source in grado di gestire facilmente i contenitori e i contenitori sono isolati l'uno dall'altro utilizzando un meccanismo sandbox.
2. Quale problema risolve la finestra mobile: risolve il problema di migrazione dell'ambiente software.
3. La differenza tra contenitori e macchine virtuali:
4. Archiviazione della finestra mobile:
-v /宿主机目录:容器目录
数据卷:容器目录
5. Rete Docker: crea una rete personalizzata per ottenere l'accesso al nome host come nome di dominio stabile. (Consente ai contenitori sulla stessa rete di comunicare tra loro)
#示例
#自定义网络
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
Questo articolo è basato sull'installazione dell'ambiente Ubuntu. Se non hai le autorizzazioni, aggiungi semplicemente sudo davanti.
1. Disattivare il firewall (non è necessario esporre manualmente la porta per il successivo accesso esterno, il che è comodo per i test)
sudo ufw disable
#关闭防火墙:sudo ufw disable
#查看防火墙状态:sudo ufw status
#开启防火墙:sudo ufw enable
2. Installa la finestra mobile
#卸载旧版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. Gestione dello stato del servizio docker:
2. Gestione delle immagini Docker:
3. Gestione dei contenitori Docker:
4. Volume dei dati Docker:
Volume dati: è una cartella gestita dalla finestra mobile.
L'uso dei volumi di dati: è possibile associare un volume di dati a un percorso in un contenitore per realizzare il trasferimento automatico bidirezionale dei file tra il contenitore e l'host.
Inserisci il file nel volume dati dell'host: la finestra mobile sincronizzerà automaticamente il file nel contenitore
Se i file nel contenitore cambiano: la finestra mobile li sincronizzerà automaticamente con il volume di dati dell'host.
Comandi operativi sul volume di dati:
Elenca i volumi di dati: docker volume ls
Crea un volume dati: il volume docker crea il nome del volume dati
Visualizza i dettagli del volume dati (percorso effettivo): il volume docker controlla il nome del volume dati
Elimina volume dati: docker volume rm nome volume dati
Crea il contenitore e associa il volume di dati:
docker run -di --name=nome contenitore -v nome volume dati: percorso nel nome immagine del contenitore: tag
docker run -di --name=nome contenitore -v percorso nell'host: percorso nel nome immagine del contenitore: tag
Nota: tutti i percorsi nel parametro -v devono essere percorsi assoluti.
5. Backup del mirroring:
Documentazione: https://docs.docker.com/reference/dockerfile/
Ruolo Dockerfile: crea immagini personalizzate.
Dockerfile si basa su un'immagine di base e scrive una serie di istruzioni docker. Ciascuna istruzione costruisce un livello di immagine. Attraverso queste istruzioni, livello per livello, viene infine creata un'immagine di destinazione.
Istruzioni comuni | effetto |
---|---|
DA | Specificare l'ambiente di base dell'immagine |
CORRERE | Esegui comando personalizzato |
Comando | Comando o parametri di avvio del contenitore |
ETICHETTA | Etichette personalizzate |
ESPORRE | Specificare la porta esposta |
ENV | variabili ambientali |
AGGIUNGERE | Aggiungi file all'immagine |
COPIA | Copia i file nell'immagine |
PUNTO D'ENTRATA | Comando di avvio corretto del contenitore |
VOLUME | volume dei dati |
UTENTE | Specificare utenti e gruppi di utenti |
CARTELLA DI LAVORO | Specificare la directory di lavoro predefinita |
Argomento | Specificare i parametri di creazione |
Esempio:
#编写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 .
Orchestrazione dei servizi o orchestrazione dei contenitori: gestisci i contenitori in batch in base a determinate regole aziendali.
Docker Compose è uno strumento di orchestrazione per definire ed eseguire più contenitori Docker.
È possibile avviare più contenitori con un comando. Risolve principalmente il problema di come gestire e orchestrare i contenitori.
L'utilizzo di Docker Compose prevede tre passaggi:
docker-compose.yml
Definire i servizi che compongono l'applicazionedocker-compose up -d
Avvia l'applicazioneInstalla 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 desideri disinstallare docker-compose, puoi eseguire il seguente comando:
# docker compose是二进制包方式安装的,删除二进制文件即可
rm /usr/local/bin/docker-compose
Comandi comuni per 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 # 停止并删除容器
Esempio:
1. Crea la directory docker-compose
mkdir ~/docker-compose
cd ~/docker-compose
2. Scrividocker-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. Inizia
# !!!注意:必须先切换到有`docker-compose.yaml`文件所在的目录后,才可以执行以下命令!!!
cd ~/docker-compose
# docker-compose up -d 以守护进程方式创建并启动容器
docker-compose up -d