1 # Docker-Compose分为两部分
2 # 一、Docker-Compose.yml
3 # 二、Docker-Compose 命令
4
5 # 桌面板的Docker(Win、Mac)会默认捆绑捆绑安装Docker-Compose
6 # 查看是否安装成功
7 Docker-Compose --version
8
9 # 文档 linux安装
10 https://docs.docker.com/desktop/
11
12 # pip 命令安装
13 sudo pip3 install -U docker-compose
14
15
16 # yml文件
17 # 不同的Docker版本需要填写对应的docker-compose版本,
18 # 从这里查询对应版本:https://docs.docker.com/compose/compose-file/
19 # services 声明容器,下边每个递进的每项都是容器的名字
20 # my-wordpress 服务名字,容器名字
21 # 容器名字下边对应的就是我们运行docker的各种参数
22 version: "3.8"
23 services:
24 my-wordpress:
25 image: wordpress:latest
26 ports:
27 - 80:80
28
29 # 参数
30 verions: "Docker-compose版本号"
31 services: # 容器声明
32 servicename: # 服务名字,这个名字也是内部bridge网络可以使用的DNS name
33 container_name: # 容器名字 如果不指定容器名字的话,它就会自动生成一个名字 [目录名+服务名+_1]
34 image: # 镜像的名字
35 build: ./file # 选择自己构建镜像的目录,目录下必须编写Dockerfile文件,image可以定义构建后镜像的名字
36 command: # 可选,对应docker container run image-name XXX 的CMD命令
37 environment: # 可选,相当与docker run里的 --env
38 volumes: # 可选 相当于 run里的 -v
39 networks: # 相当于docker run 中的 --network
40 ports: # 可选,相当于docker run 里的 -p
41 servicename2: # 另一个容器,因为services中可以同时运行多个容器
42
43 #
44 docker compose up -d -f XXX.yml
45
46 # 查询命令帮助
47 docker-compose
48
49 # 查看
50 docker-compose ps
51
52 # 删除
53 docker-compose rm
54
55 # 只拉取镜像不启动容器
56 docker-compose pull
1 # Docker的网络模式
2 # bridge桥接模式,Docker为每个容器分配一个虚拟地址连接到docker上的虚拟网桥上边(docker局域网)
3 # host直接使用本机地址
4 # none无网络,配置自己的网络模式
5 # --name 为容器命名,--network设置网络模式
6 # eth0 主机网卡,也就是主机是上的第0块网卡,如果有多块网卡的话会往后递增
7 docker container run --name nginx1 --network host mginx
8
9 # 查看网络模式的命令
10 docker network ls
11
12 # 这里的网络模式是,nginx2使用的是nginx1容器的网络
13 # 也就是nginx2和nginx1可以通过local进行高效通信,因为他们使用的是同一个虚拟网桥
14 # 同时当nginx1关闭的时候nginx2是访问不了网络的,就相当于路由器断点
15 # nginx1容器关闭重新启动的时候nginx2也必须重新启动才能重新访问网络
16 docker container run --name nginx2 --network container:nginx1 mginx