美文网首页容器技术
四十五、Docker Compose-命令行基本使用

四十五、Docker Compose-命令行基本使用

作者: InsaneLoafer | 来源:发表于2021-12-31 21:26 被阅读0次

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

执行compose文件

  • docker-compose up 前台运行

后台运行

  • 加上-d 参数:docker-compose up -d
[root@localhost docker_exec]# docker-compose up -d
Starting docker_exec_flask-demo_1   ... done
Starting docker_exec_redis-server_1 ... done

查看日志

  • docker-compose logs:查看日志
  • docker-compose logs -f:实时查看日志
    image.png

查看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

停止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

删除已停止的通过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。

命名规则

  • 以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-命令行基本使用

    本文链接:https://www.haomeiwen.com/subject/jmegfrtx.html