Note

运行docker-compose时需要在docker-compose.yml文件的目录下执行。否则找不到compose文件就会输出错误。 docker-compose.yml的文件名不能改变,否则需要额外指定-f文件运行。(与Dockerfile一致)

执行compose文件

  • docker-compose up 前台运行
    四、Docker-Compose-命令行基本使用 - 图1

    后台运行

  • 加上-d 参数:docker-compose up -d

    1. [root@localhost docker_exec]# docker-compose up -d
    2. Starting docker_exec_flask-demo_1 ... done
    3. Starting docker_exec_redis-server_1 ... done

    查看日志

  • docker-compose logs:查看日志

  • docker-compose logs -f:实时查看日志
    四、Docker-Compose-命令行基本使用 - 图2

    查看docker-compose的服务情况

  • docker-compose ps ``` [root@localhost docker_exec]# docker-compose ps

         Name                         Command               State                    Ports
    

docker_exec_flask-demo_1 flask run -h 0.0.0.0 Up 0.0.0.0:8080->5000/tcp,:::8080->5000/tcp docker_exec_redis-server_1 docker-entrypoint.sh redis … Up 6379/tcp

<a name="vdOX1"></a>
## 停止docker-compose

- `docker-compose stop`

[root@localhost docker_exec]# docker-compose stop Stopping docker_exec_redis-server_1 … done Stopping docker_exec_flask-demo_1 … done

<a name="otUMO"></a>
## 删除已停止的通过compose创建的容器

- `docker-compose rm`

[root@localhost docker_exec]# docker-compose rm Going to remove docker_exec_redis-server_1, docker_exec_flask-demo_1 Are you sure? [yN] y Removing docker_exec_redis-server_1 … done Removing docker_exec_flask-demo_1 … done

> Note
> 此命令不能删除通过compose创建的network以及images。

<a name="UNq0b"></a>
## 命名规则

- 以network为例,命令前缀默认是docker-compose.yml文件所在目录的名

[root@localhost docker_exec]# docker network ls NETWORK ID NAME DRIVER SCOPE 1e6a14c63400 bridge bridge local 8256654a8367 demo-network bridge local 7dd642472465 docker_exec_demo-network bridge local d0763579887a host host local 6a03d63270a6 none null local


- 指定命名前缀即project的名字,加上`-p <project_name>`参数,但是不方便的是每次使用`docker-compose`都得加上`-p`这个参数

[root@localhost docker_exec]# docker-compose -p myproject up -d Creating network “myproject_demo-network” with the default driver Creating myproject_redis-server_1 … done Creating myproject_flask-demo_1 … done ```

  • 自定义container的名字,默认是当前目录名为前缀,后缀为从1开始的数字
    • 默认名字如:docker_exec_flask-demo_1
    • 自定义名字:在docker-compose.yml文件中加上container_name指定名字即可
      四、Docker-Compose-命令行基本使用 - 图3