docker-compose的用法

半兽人 发表于: 2018-10-31   最后更新时间: 2022-10-13 11:06:37  
{{totalSubscript}} 订阅, 6,161 游览

docker-compose是什么?

假如,你有一个java镜像,一个mysql镜像,一个nginx镜像。如果没有docker-compose,那么每次启动的时候,你需要敲各个容器的启动参数,环境变量,容器命名,指定不同容器的链接参数等等一系列的操作,相当繁琐。而用了docker-composer之后,你就可以把这些命令一次性写在docker-composer.yml文件中,以后每次启动这一整个环境(含3个容器)的时候,你只要敲一个docker-composer up命令就ok了。

先简单理解 docker 的使用过程,它分为镜像构建与容器启动。

  1. 镜像构建:即创建一个镜像,它包含安装运行所需的环境、程序代码等。这个创建过程就是使用 dockerfile 来完成的。

  2. 容器启动:容器最终运行起来是通过拉取构建好的镜像,通过一系列运行指令(如端口映射、外部数据挂载、环境变量等)来启动服务的。针对单个容器,这可以通过 docker run 来运行。

而如果涉及多个容器的运行(如服务编排)就可以通过docker-compose来实现,它可以轻松的将多个容器作为 service 来运行(当然也可仅运行其中的某个),并且提供了 scale (服务扩容) 的功能。

简单总结:

  • dockerfile: 构建镜像;
  • docker run: 启动容器;
  • docker-compose: 启动服务;

运行以及常见的docker-compose的命令

  • docker-compose up运行编写的命令
  • docker-compose run 命令允许你为你的应用程序运行一次性命令。
  • docker-compose stop 运行完成后停止服务
  • docker-compose down --volumes 停掉所有一切,使用 down 命令完全移除容器。传递 —volumes 还可以删除容器使用过程中所使用的数据卷
更新于 2022-10-13

查看docker更多相关的文章或提一个关于docker的问题,也可以与我们一起分享文章