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 

把服务构建成镜像。

  1. 这个命令会构建/重新构建定义在docker-compose.yml文件里的所有的服务,使用这一个命令就会一次性把所有服务需要的镜像都创建好。
  2. 还可以构建单独的服务,例如:docker-compose build mongo。有时候你不想把所有的东西都重新构建一遍,你只想构建其中的一个服务。
  • docker-compose up 

一旦镜像准备好了,那就执行该命令,启动那些镜像,使之成为容器运行。它会自动创建容器,并运行这些容器。
该命令还可以加一些参数,列如
--no-deps node,它表示重新构建node镜像,停止、销毁重新创建node,但不重新创建node所依赖的服务。
-d参数,后台执行,避免输出霸占终端
  • docker-compose down 

可以使用该命令停止、删除由up命令建立的一切东西

  1. 该命令会停止所有的容器,然后删除它们。
  2. 如果只想停止容器,并不删除,那么应该使用docker-compose stop
  3. 如果你想同时删除所有的镜像和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
posted @ 2022-05-23 14:38  海~~D  阅读(242)  评论(0编辑  收藏  举报