400 028 6601

建站动态

根据您的个性需求进行定制 先人一步 抢占小程序红利时代

docker-compose

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: 启动服务;

安装

推荐官方安装

curl -L "https://github.com/docker/compose/releases/download/1.25.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

[root@rancher ~]# docker-compose -v

docker-compose version 1.24.1, build 4667896b

卸载

如果是二进制包方式安装的,删除二进制文件即可:

sudo rm /usr/local/bin/docker-compose


如果通过Python pip工具安装的,则执行如下命令删除:

sudo pip uninstall docker-compose

常用命令

-f,–file FILE指定Compose模板文件,默认为docker-compose.yml,可以多次指定。

-p, 指定docker-compose的项目目录,也就是docker-compose.yml文件的存储目录

-v,–version打印版本并退出

docker-compose ps      显示所有容器

docker-compose up -d nginx   构建并在后台启动nginx容器,不加nginx,启动所有服务,下面的等同。

docker-compose run    允许为你的应用程序运行一次性命令

docker-compose start nginx   启动nginx容器

docker-compose restart nginx   重启nginx容器 (注意是编排文件中的service)

docker-compose stop  nginx  停止nginx容器

docker-compose pause nginx    暂停nginx容器

docker-compose unpause nginx    恢复nginx容器

docker-compose kill nginx    强制停止nginx容器

docker-compose rm nginx    删除nginx容器(删除前必须关闭容器)

docker-compose exec nginx bash            登录到nginx容器中

docker-compose down -v   停止并删除容器、网络、映像和卷,-v(--volumes)删除容器的数据卷

docker-compose logs -f  --tail 50 nginx    查看nginx的实时日志,只看最后50行。

docker-compose events --json nginx      以json的形式输出nginx的docker日志

docker-compose config  -q    验证(docker-compose.yml)文件配置,当配置正确时,不输出任何内容,当文件配置错误,输出错误信息。

docker-compose build nginx        构建镜像

docker-compose build --no-cache nginx   不带缓存的构建。

docker-compose scale     设置服务的容器数量

docker-compose pull     拉取服务镜像

docker-compose push    推送服务镜像


网页标题:docker-compose
文章链接:http://mzwzsj.com/article/ieoede.html

其他资讯

让你的专属顾问为你服务