Docker--Docker Compose的使用
前言
docker的使用可以快速的部署项目,不用考虑环境问题,但如果一次需要部署多个容器时,一个个的去部署还是很繁琐的,而使用docker compose就可以轻松高效的去部署多个容器了
系统:CentOS Linux release 7.6.1810
安装docker compose
参考官网命令安装 https://docs.docker.com/compose/install/
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose
检查安装
docker-compose --version
创建docker-compose文件
为了方便操作,将docker涉及到的文件全部放在了一个文件夹下
在 /root/docker/compose 目录下创建 docker-compose.yml 文件,文件内容如下
version: '3' services: mongodb: container_name: em.db image: docker.io/mongo ports: - "27017:27017" volumes: - ../mongo/db:/data/db web-em: container_name: em.web build: ../dotnet/EM/ depends_on: - mongodb reverse-proxy: container_name: em.proxy image: docker.io/nginx depends_on: - web-em ports: - "80:80" volumes: - ../nginx/proxy.conf:/etc/nginx/conf.d
services中每一项的名字为网络名,这里不需要link就可以在配置文件中代替ip地址,一个compose文件中启动的容器默认在一个网络中
这里使用相对路径,便于后续移植到其他服务器上
参数说明:
container_name 容器名
image 镜像,如果本地不存在,会默认去docker hub 上获取
ports 端口映射
volumes 文件挂载
build 同build命令,根据dockerfile文件创建镜像
depends_on 依赖,可以用来指定容器启动顺序,只有依赖项启动后,才会启动
执行docker compose
cd /root/docker/compose
docker-compose up -d
首先进入刚刚创建的docker-compose.yml文件的目录,执行docker-compose命令,后台启动运行
后续如果需要更新代码,命令加上 --build 会重新创建镜像并运行容器,依赖该容器的会重启
总结
我们看到使用docker compose 之后,在新服务器上部署,只需要将文件复制过去,执行docker-compose.yml文件即可,非常高效