Docker基本命令与使用 —— Docker Compose (七)
1.Docker Compose安装
docker compose安装其实很简单,只要下载可执行文件,运行即可。
# docker官方github下载 $ sudo curl -L https://github.com/docker/compose/releases/download/v2.5.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 如果比较慢,可以从daocloud下载 $ sudo curl -L https://get.daocloud.io/docker/compose/releases/download/v2.5.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose # 添加可执行权限 $ sudo chmod +x /usr/local/bin/docker-compose $ docker-compose --version Docker Compose version v2.5.0
2.Docker Compose的命令
-
docker-compose build
把服务构建成镜像。
- 这个命令会构建/重新构建定义在docker-compose.yml文件里的所有的服务,使用这一个命令就会一次性把所有服务需要的镜像都创建好。
- 还可以构建单独的服务,例如:docker-compose build mongo。有时候你不想把所有的东西都重新构建一遍,你只想构建其中的一个服务。
-
docker-compose up
一旦镜像准备好了,那就执行该命令,启动那些镜像,使之成为容器运行。它会自动创建容器,并运行这些容器。
该命令还可以加一些参数,列如
--no-deps node,它表示重新构建node镜像,停止、销毁重新创建node,但不重新创建node所依赖的服务。
-d参数,后台执行,避免输出霸占终端
-
docker-compose down
可以使用该命令停止、删除由up命令建立的一切东西
- 该命令会停止所有的容器,然后删除它们。
- 如果只想停止容器,并不删除,那么应该使用docker-compose stop
- 如果你想同时删除所有的镜像和volumes,你可以:docker-compose down --rmi all --volumes
常用形式命令
- docker-compose logs
- docker-compose ps
- docker-compose stop
- docker-compose start
- docker-compose rm
3.docker-compose.yml
创建简单的 docker-compose.yml 文件
version: '3.4' services: nginx: image: nginx ports: - "8081:80" tomcat: image: tomcat labels: service: tomcat ports: - "8082:8080"
运行docker-compose,可以发现两个容器镜像已经在运行
[root@localhost ~]# docker-compose up -d [+] Running 3/3 ⠿ Network root_default Created 1.6s ⠿ Container root-nginx-1 Started 8.3s ⠿ Container root-tomcat-1 Started 8.3s [root@localhost ~]# docker-compose ls NAME STATUS CONFIG FILES root running(2) /root/docker-compose.yml [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4f1aff327916 tomcat "catalina.sh run" 35 seconds ago Up 26 seconds 0.0.0.0:8082->8080/tcp, :::8082->8080/tcp root-tomcat-1 eba9128fd175 nginx "/docker-entrypoint.…" 35 seconds ago Up 26 seconds 0.0.0.0:8081->80/tcp, :::8081->80/tcp root-nginx-1