基于docker的一键部署方案

1.安装docker和docker-compose,可执行如下脚本。

   echo "--------安装docker开始---------------"
    tar -xvf installdocker.tar
    tar -xvf docker-18.06.1-ce.tgz
    cp docker/* /usr/bin/
    cp docker.service /etc/systemd/system/docker.service
    chmod +x /etc/systemd/system/docker.service
    systemctl daemon-reload
    systemctl start docker
    systemctl status docker
    echo "--------安装docker完成---------------"
    
    echo "--------安装docker compose开始---------------"
    sudo mv /home/jk-servers/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
    sudo chmod +x /usr/local/bin/docker-compose
    echo "--------安装docker compose完成---------------"

2.编辑docker-compose.yml,如下所示demo:

version: '3'

services:
  ###################nginx###########################
  nginx:
    restart: always
    image: nginx-img
    container_name: nginx
    ports:
    - 80:80
    - 443:443
    volumes:
    - /etc/localtime:/etc/localtime:ro
    - /home/webs:/home/webs
    - /root/tools-docker/docker/nginx/conf:/etc/nginx
    - /usr/local/nginx/logs:/var/log/nginx

  ###################redis###########################
  redis:
    image: redis-img
    container_name: redis
    ports:
    - 6379:6379
    restart: always
    command: redis-server --requirepass 123456 --appendonly yes --dir /data 
    volumes:
    - /etc/localtime:/etc/localtime:ro
    - /etc/hosts:/etc/hosts:ro
    - /root/tools-docker/docker/redis:/data
    - /usr/local/redis/bin/redis.conf:/etc/redis.conf

  ###################mysql###########################
  mysql:
    restart: always
    image: mysql-img
    container_name: mysql
    privileged: true
    command: --default-authentication-plugin=mysql_native_password #这行代码解决无法访问的问题
    ports:
    - 3306:3306
    environment:
      MYSQL_ROOT_PASSWORD: 123456
    volumes:
    - /etc/localtime:/etc/localtime:ro
    - /root/tools-docker/docker/mysql:/var/lib/mysql

  ###################consul###########################
  consul:
    restart: always
    image: consul-img
    container_name: consul
    depends_on:
    - nginx
    - redis
    - mysql
    ports:
    - 8500:8500
    command: agent -server -bind=0.0.0.0 -client=0.0.0.0 -bootstrap-expect=1 -ui

  ###################gateway##########################
  gateway:
    image: jdk-img
    restart: always
    container_name: gateway
    links:
    - consul:consul-master
    ports:
    - "9000:9000"
    volumes:
    - /etc/localtime:/etc/localtime:ro
    - /home/jar:/home/jar
    entrypoint: nohup java   -jar xxx.jar >>xxx.log 2>&1 &

  ###################login##########################
  login:
    image: jdk-img
    restart: always
    container_name: login
    links:
    - consul:consul-master
    - mysql:mysql-master
    - redis:redis-master
    depends_on:
    - consul
    - gateway
    - redis
    ports:
    - "8003:8003"
    volumes:
    - /etc/localtime:/etc/localtime:ro
    - /home/jar:/home/jar
    command: bash -c "source /etc/profile && java  -jar xxx.jar >>xxx.log 2>&1"
    #network_mode: "host"
3.cd 到docker-compose.yml所在目录下,执行docker-compose up -d

docker-compose logs -f //查询日志

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值