【docker】记录docker-compose的安装配置

作用

  • 由于需要使用多个容器来配置,不同容器间还有先后安装顺序,所以才有了docker-compose
  • 在配置文件中,所有的容器通过services来定义,然后使用docker-compose脚本来启动、停止和重启应用和应用中的服务以及所有依赖服务的容器。
  • 运行docker-compose up,Compose 将启动并运行整个应用程序 配置文件组成。
  • services 可以定义需要的服务,每个服务都有自己的名字、使用的镜像、挂载的数据卷所属的网络和依赖的其它服务。
  • networks 是应用的网络,在它下面可以定义使用的网络名称,类性。
  • volumes是数据卷,可以在此定义数据卷,然后挂载到不同的服务上面使用。

安装

yum -y install epel-release
yum -y install python-pip
yum clean all
pip install docker-compose
  • 现在python-pip这个包改成python2-pip和python3-pip,先检查是否有pip,然后使用pip2或者pip3进行安装docker-compose

编写docker-compose.yml

  • 这个是yml语法,不给用tab,需要空格缩进。
version: '2'
services:
  nginx1:
    image: nginx
    ports:
      - "8080:80"
  nginx2:
    image: nginx
    ports:
      - "8081:80"
  • 输入docker-compose up 便会把2个nginx服务挂在前台。
  • 通过访问ip加端口号验证是否能访问nginx首页。
  • 需要后台启动需要加参数 -d
  • 需要重新编译要加参数 --build
docker-compose ps	打印所有的容器
docker-compose stop	停止所有服务
docker-compose logs -f	持续跟踪日志
docker-compose exec nginx1 bash	进入nginx1服务系统
docker-compose rm nginx1	删除服务容器
docker network ls	查看网络网络不会删除
docker-compose down	删除所有的网络和容器

部署数据库web服务器node后端的yml文件范例:

version: '2'
services:
 node:
  build:
    context: ./images/node
    dockerfile: Dockerfile
  depends_on:
   - db
 web:
  image: nginx
  ports:
   - "8080:80"
  volumes:
   - ./images/nginx/config:/etc/nginx/conf.d
   - ./images/node/web/public:/public  
  depends_on:
   - node
 db:
  image: mariadb
  environment:
   MYSQL_ROOT_PASSWORD: "root"
   MYSQL_DATABASE: "node"
   MYSQL_USER: "yehuo"
   MYSQL_PASSWORD: "123456"
  volumes:
    - db:/var/lib/mysql
volumes:
 db:
  driver: local
  • node后端需要依赖数据库,web服务器依赖node后端,所以会先部署数据库,再部署node,再部署web服务器。
  • build会去context配置的目录下找dockerfile进行构建。
  • depends_on就是先后顺序。
  • image的内容就会从本地找镜像,找不到去网上down
  • volumes就是数据卷映射目录。一般local是放在var/lib/docker/volumes下,检查容器可以看见。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

业火之理

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值