赞
踩
Docker Compose
是一个编排多容器分布式部署的工具,提供命令集管理容器化应用的完整开发周期,包括服务构建、启动和停止。使用步骤:
sh
复制代码
1. 利用 Dockerfile 定义运行环境镜像
2. 使用 docker-compose.yml 家义组成应用的各服务
3. 运行 docker-compose up 启动应用
除了在 Linux
上安装 docker
时,不会自动安装 docker-compose
,其他平台(window
、mac
)都会自动安装好 docker-compose
。
安装好 docker
后,可以通过下面命令检查是否顺带安装好了 docker-compose
,没有安装好,可以按 官网的方式进行安装,然后检查是否安装成功。
sh
复制代码
$ docker-compose -v
创建一个工作目录
sh
复制代码
$ mkdir ~/docker-compose
$ cd ~/docker-compose
编写 docker-compose.yml
文件,文件名固定写法。在 yml
语法中 -
表示数组写法,可以多个。
js 复制代码 // 版本 version: '1' // 服务 services: // 服务名称(也就是容器名称) nginx: // 镜像 image: nginx:2.0 ports: // 端口映射 - 80:80 // 关联的容器(也就是可以访问的容器) links: // 关联容器名称 - app // 目录映射 volumes: - ./nginx/conf.d:/etc/nginx/conf.d - ....可以多个 // 服务名称(也就是容器名称) app: image: app // 对外暴露的端口 expose: - "8080"
创建 ./nginx/conf.d
目录,然后建一个 nginx
配置文件
sh
复制代码
# 创建配置文件夹
$ mkdir -p ./nginx/conf.d
# 进入配置文件夹
$ cd ./nginx/conf.d
# 新建 nginx 配置文件,名字无所谓,主要是后缀
$ vim mynginx.conf
mynginx.conf
内容
sh
复制代码
server {
listen: 80;
access_log off;
location / {
# app 位置就是 links 里面存在容器名称加上容器暴露的端口
proxy_pass http://app:8080
}
}
然后回到 ~/docker-compose
目录启动容器,启动后通过 http://IP地址
访问
sh
复制代码
$ cd ~/docker-compose
# 启动容器
$ docker-compose up
启动和停止服务
sh
复制代码
# 启动项目中的服务
$ docker-compose up
# 启动项目中的服务并设置组名称(默认使用当前文件夹名称,单个容器使用的是 --name 设置名称)
# 组名称也就是项目名称 -p;--project xxx
$ docker-compose -p myproject up
# 启动服务并在后台运行
$ docker-compose up -d
# 停止服务
$ docker-compose stop
构建和重构服务
sh
复制代码
# 构建服务的镜像
$ docker-compose build
# 如果服务镜像不存在,则构建镜像并启动服务
$ docker-compose up –build
# 重构服务
$ docker-compose up –force-recreate
查看服务信息
sh
复制代码
# 查看项目中所有服务的信息
$ docker-compose ps
# 查看容器的日志
$ docker-compose logs
# 在服务镜像的容器中执行命令
$ docker-compose exec service_name command
删除服务
sh
复制代码
# 停止所有容器后,删除所有服务容器
$ docker-compose down
# 停止所有容器后,删除所有服务容器与对应的数据卷
$ docker-compose down -v
# 删除所有停止后的服务容器
$ docker-compose rm --stop
这里给大家分享一份Python全套学习资料,包括学习路线、软件、源码、视频、面试题等等,都是我自己学习时整理的,希望可以对正在学习或者想要学习Python的朋友有帮助!
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。