Docker Compose的使用

一、背景

  继上篇文章之后,学习使用Docker Compose(实际项目中需要做对应的变化)

 

二、docker-compose 安装

  官网使用最新版进行安装
  https://github.com/docker/compose/releases/

例如:
1. 安装当前稳定版本

curl -L https://github.com/docker/compose/releases/download/1.24.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

2. 对二进制文件应用可执行权限

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

3. 查看版本(也可以校验是否安装成功)

docker-compose --version

 

三、 docker-compose 命令简介

如命令:

docker-compose up -d

up

  启动所有在Compose问中定义的容器,并且把它们的日志信息汇集在一起。通常会添加-d参数(在up后面),让容器在后台执行

start
  启动指定的已经存在的容器

build
  重新建造由Dockerfile构建的镜像。

ps
  获取由Compose管理的容器的状态信息

run
  启动一个容器,并允许一个一次性的命令。被连接的容器会同时启动,除非用了 --no-deps参数。

logs
  汇集由Compose管理的容器的日志,并以彩色输出。

stop
  停止容器,但不会删除它们

rm
  删除已停止的容器。不要忘记使用-v参数来删除任何由Docker管理的数据卷

说明:

  一个普通的工作流程以docker-compose up -d名利启动应用程序开始。docker-compose logs和ps命令可以用来验证应用程序的状态,还能帮助调试。
修改代码后,先执行docker-compose build 构建新的镜像,然后执行docker-compose up -d 取代运行中的容器。注意,Compose会保留原来容器中所有旧的数据卷,这意味着即使容器更新后,数据库和缓存也依旧在容器内(这很可能造成混淆,因此要特别小心)。
  如果你修改了Compose的YAML文件,但不需要构建新的镜像,可以通过up -d参数使Compose以新的配置替换容器。如果想要强制停止Compose并重新创建所有容器,可以使用--force-recreate选项来达到目的。

 

四、 docker-compose.yml 文件模板

#具体的版本号,请参考官网https://docs.docker.com/compose/compose-file/
version: '3.7'
services:
    #声明构建容器的名称,docker-compose start和stop命令可以使用
    testhttpweb:
    #使用指定目录下的Dockerfile进行构建
    build: .
    #相当于docker run命令的-p参数,用于声明对外开放的端口
    ports:
        - "5000:5000" 
       - "8010:80"

五、简单使用

1. 在/root/Root/DefaultHttp的路径下创建yml文件(请参考上一步的模板)

2. 执行命令运行容器

docker-compose up -d

从上图可以看出,即使没有创建image也会成功(会自动进行创建)

3. 查看镜像

docker images

defaulthttp_testhttpweb 为自动创建的镜像

4. 停止和删除容器

docker-compose stop testhttpweb

docker-compose rm testhttpweb

 

六、总结

  实现了docker-compose的安装、命令介绍、简单使用

 

参考资料:

  《Docker开发指南》

  https://www.jianshu.com/p/658911a8cff3

posted @ 2019-08-03 23:19  暗香残留  阅读(15305)  评论(0编辑  收藏  举报