前面我们使用 docker
的时候,定义 Dockerfile
文件,然后使用 docker build
、docker run
等等命令,有没有觉得很麻烦呀,而且当容器多的时候,很多东西不好管理和记录,挺不方便。这时候我们的 docker compose
神器横空出世了。
docker compose 是什么呢?
可以理解为多容器的自动化管理工具。将 多容器docker
动作拆分成一系列配置信息(新建一个 docker-compose.yml
来保存配置信息),然后通过 docker-compose up
命令一键化运行,实现了docker 自动化部署。 docker compose
可以做很多事,比如:网络自定义、映射磁盘、微服务多实例部署等,同时可以提高工作效率,降低维护成本。
docker compose 安装
安装命令
curl -L https://github.com/docker/compose/releases/download/1.3.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose
查看安装
docker-compose -v
docker-compose -v 查看安装版本
docker-compose 常见命令
docker-compose ps
列出所有运行容器docker-compose build
构建或者重新构建服务docker-compose start
启动构建服务docker-compose start 构建的服务名称
docker-compose stop 构建的服务名称
关闭启动服务docker-compose rm
删除指定服务的容器docker-compose rm 构建的服务名称容器
docker-compose up
构建、启动容器,docker-compose up -d
-d 可以后台启动docker-compose kill
kill 指定运行的容器,docker-compose kill 运行的容器服务名称
docker-compose.yml 属性
version
指定docker-compose.yml 文件的写法格式,如:Version 1 file format
、Version 2 file format
、Version 2.1 file format
、Version 3 file format
,其中Version 1 file format
逐渐被弃用;使用方式如:version: '3'
services
多个容器集合image
指定服务所使用的镜像ports
对外暴露的端口定义,和 expose 对应,可以是多个
ports: # 暴露端口信息 - "宿主机端口:容器暴露端口" - "8763:8763" - "8763:8763"
links
将指定容器连接到当前连接,可以设置别名,避免ip方式
导致的容器重启动态改变的无法连接情况
links: # 指定服务名称:别名 - docker-compose-eureka-server:compose-eureka
volumes
卷挂载路径设置
volumes: - /lib - /var
logs
输出日志信息
--no-color 单色输出,不显示其他颜. -f, --follow 跟踪日志输出,就是可以实时查看日志 -t, --timestamps 显示时间戳 --tail 从日志的结尾显示,--tail=200
如:docker-compose logs -f 指定运行容器服务名称
,docker-compose logs -f nginx
待续
利用 docker-compose 启动 nginx 容器
编写
docker-compose.yml
,内容如下:
version: '2' # 表示该docker-compose.yml文件使用的是Version 2 file formatservices: # Version 2 file format的固定写法,为project定义服务 nginx: # 指定服务名称 image: nginx # 指定服务所使用的镜像 ports: # 暴露端口信息 - 80:80
使用
docker-compose up
命令启动docker-compose up
或者docker-compose up -d
后台启动docker-compose nginx 启动
docker-compose nginx 启动成功
浏览器访问
docker-compose nginx 访问
看完,放松下!
轻松一刻
如有不对的地方,望多多指教,谢谢!
作者:逐暗者(转载请注明出处)
作者:逐暗者
链接:https://www.jianshu.com/p/cc14437a3cd6