Docker-Compose和Docker Network的应用
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