docker-compose 实现自动化部署(真实项目使用)

简介

本人是在职的java开发 这也是第一次写文章分享 没有抄袭任何人的文章 都是自己工作中真实遇到的,真心觉得对大家工作有帮助才分享的 所以看到的兄弟觉得可以的话点点关注,我们一起进步!!!!

正文

首先我们要确保自己虚拟机的docker已经安装好

docker-compose也是需要安装的 具体可以看docker官网 我已经帮兄弟们找到这个中文官网了可以去参考下

http://www.dockerinfo.net/docker-compose-%e9%a1%b9%e7%9b%ae

我们都知道docker部署是很方便的 配置dockerfile就可以了 

docker-compose就更方便了 像那些基础的镜像mysql nginx 在yaml文件里面指定启动就可以自动拉下来这些镜像了

docker-compose还可以多套服务运行在一个服务器上,根据不同的yaml文件  首先我们看个基础的

docker-compose.yaml文件

给兄弟们个例子仅供参考:

version: "3"
services:
  emqx:
    container_name:xxxx  --可以自己随意指定名称
    image: emqx/emqx:v4.0.6 --自己制定的镜像
    restart: always --服务停掉之后会一直重启 还有几个参数可以配置 可以根据自己需求
    ports: --端口号
      - 8883:8883
      - 18083:18083
      - 8991:8991
      - 8992:8992
    environment: --环境
      EMQX_LOADED_PLUGINS:  插件 emqx_management,emqx_recon,emqx_dashboard,emqx_retainer,emqx_auth_username,emqx_auth_http
      TZ: Asia/Shanghai
    volumes:--挂载的目录  这些目录自己一定要创建好哦 自己可以指定的
      - ./emqx/config/etc:/opt/emqx/etc
      - ./emqx/log:/opt/emqx/log
      #- /etc/localtime:/etc/localtime
    privileged: true
    user: root
    deploy:
      resources:
        limits:
          memory: 13107m
          cpus: '0.3'
        reservations:
          memory: 4915m
          cpus: '0.1'
    networks:
      simp-net:
        ipv4_address: 172.20.0.2  --容器里的ip 可以自己指定哦
  mysql:
    image: mysql:8
    container_name: xxxxxx
    volumes:
      - ./mysql/conf:/etc/mysql/conf.d
      - ./mysql/db:/var/lib/mysql
    ports:
      - 3306:3306
    restart: always
    environment: ---这些是数据库所要创建的用户 可以自己指定 创建自己的用户
      MYSQL_ROOT_PASSWORD: xxxx
      MYSQL_DATABASE: xxxx
      MYSQL_USER: xxxxx
      MYSQL_PASSWORD: xxxx
    networks:
      simp-net:
        ipv4_address: 172.20.0.3

多的兄弟们可以按照自己的需求往下加

然后就可以保存退出 我们就可以运行了

docker-compose up -d emqx mysql

-d是后台运行哦

docker-compose ps 可以查看运行的状态(docker ps也是可以看的)

启动正常STATUS 这一列会显示up 但是失败就会显示restarting....

当然了 失败了 我们就要自己找原因了 我们可以先看日志

docker logs --tail  200 -f  自己指定的容器名称

200是可以自己修改的哦

-f是动态打印的

好啦 这次分享就这些 下次我们分享docker-compose部署java程序 

你可能感兴趣的:(docker,自动化,java)