dmsetup remove_all 这命令干啥的_白话docker-compose简单使用,替代掉一堆docker run命令...

e08fb9d36de951935dde3bf7850f9317.png

学习了docker的简单使用方法,应该都知道docker run是干啥用的了。

这时候发现有集群和docker-compose这些东西,看概念介绍也看不完全明白。没有大项目使用集群,好像也应用不到呢,要不要学习docker到此为止,现在开始学学其他东西了?

慢慢发现虽然没有大项目,但是本地小镜像要启动的要不少:

docker run -d --restart always -p 1123:1123 -v /tmp1:/tmp1  -v /abc:/abc  -w /abc jx1:v1 xxx
docker run -d --restart always -p 1124:1124 -v /tmp1:/tmp1  -v /def:/def -w /def jx2:v1 xxx
docker run -d --restart always -p 1125:1125 -v /tmp1:/tmp1  -v /hij:/hij -w /hij jx3:v1 xxx
docker run -d --restart always -p 1126:1126 -v /tmp1:/tmp1  -v /klm:/klm -w /klm  jx4:v1 xxx

而且经常要docker update --restart=no 容器ID1,docker stop 容器ID1,然后再改run再重新执行,挺烦的、不方便,有没省事的方法?有的啊,就是用docker-compose,把这些run都放到docker-compose.yml文件里来配置执行,以后只改这一文件就完事了。

直接看docker-compose.yml文件里面#号后有解释:

version: '3'
services:
  #数据库
  my57:
    image: my57:v1   #镜像:版本
    ports:
      - 3306:3306  #前面是主机端口,后面是镜像里端口
    volumes:  #挂载目录
      - "/xxx/mysql/mysql.conf.d/:/etc/mysql/mysql.conf.d/"
      - "/xxx/mysql/conf.d/:/etc/mysql/conf.d/"
      - "/xxx/mysql/log/:/var/log/mysql/"
      - "/xxx/mysql/data/:/var/lib/mysql/"
    environment:  #环境变量,数据库密码
      - MYSQL_ROOT_PASSWORD=123abc
    restart: always  #意外中断,总是重启
    command: --innodb_use_native_aio=0  #0是数据库文件从windows挂载来使用。
  #网站1
  myweb1:
    image: web1:v1
    ports:
      - 8000:8000
    volumes:
      - "/xxx/prj1:/usr/prj1"
    working_dir: "/usr/prj1"
    restart: always
    command: "python manage.py runserver 0.0.0.0:8000"
  #网站2
  myweb2:
    image: web2:v1
    ports:
      - 8010:8010
    volumes:
      - "/xxx/prj2:/usr/prj2"
    working_dir: "/usr/prj2"
    restart: always
    command: "python3 manage.py runserver 0.0.0.0:8010"
  nginx:
    image: nginx:1196
    ports:
      - 5018:80
      - 5011:5010
    volumes:
      - /xxx/nginx/www:/usr/share/nginx/html
      - /xxx/nginx/conf/nginx.conf:/etc/nginx/nginx.conf
      - /xxx/nginx/logs:/var/log/nginx
      - /xxx/myprj3/static:/abc/myprj3/static
    restart: always

bbff7dbfcf6c6e684ff4cb7c2a2c8958.png
进入docker-compose.yml文件所在目录

我的ubuntu系统只有python3没有2,执行pip install docker-compose安装1.27.4版。所以我没有用apt-get install docker-compose来安装,这个可能自动装python2再装compose。。。

a367d0545729bdc4162263b8b2470781.png

命令docker-compose ps,可以查看当前的任务,开始是什么都没。

执行docker-compose up -d,任务开始后台执行。

docker-compose stop是全部停止,或者docker-compose stop nginx这样停止某个。

docker-compose start是启动 , docker-compose restart是重启。

如果用docker-compose rm删掉,再执行docker-compose up -d即可。

好了,现在本地环境可以轻松愉快的加很多测试项目一起启动了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值