docker-compose一键部署多个环境

前提:Linux必须提前安装docker和docker-compose

Linux 系统中安装 Docker

CentOS

$ sudo yum install yum-utils device-mapper-persistent-data lvm2
$
$ sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
$ sudo yum install docker-ce
$
$ sudo systemctl enable docker
$ sudo systemctl start docker

设置镜像加速器

# 执行如下命令:
mkdir /etc/docker  表示创建一个文件夹
#如果有该文件则进入编辑状态,如果没有,则创建该文件然后进入编辑状态
vi /etc/docker/daemon.json  
#编写以下内容,地址换成自己的阿里云镜像加速地址
{
    "registry-mirrors": [
        "https://registry.docker-cn.com"
    ]
}

#退出编写执行如下命令
sudo systemctl daemon-reload
sudo systemctl restart docker

要验证我们配置的镜像源是否生效,我们可以通过 docker info 来查阅当前注册的镜像源列表。

$ sudo docker info
## ......
Registry Mirrors:
 https://registry.docker-cn.com/
## ......

Docker-compose安装

#国内资源(建议)
curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.4/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
#以上国内资源不行使用这个,可以的话忽略执行下一个命令
sudo curl -L "https://github.com/docker/compose/releases/latest/download/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安装常用环境创建一个文件夹

#创建一个文件夹
mkdir environment

#进入该文件夹中
cd environment

#编写docker-compose.yml文件,可复制以下你需要的环境配置
vi docker-compose.yml

#执行文件
docker-compose up -d
version: '3'  
services:  
  mysql:  
    container_name: mysql
    image: mysql:latest 
    restart: always  
    environment:  
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: root  
    volumes:  
      - ./mysql/conf/my.cnf:/etc/my.cnf
      - ./mysql/data:/var/lib/mysql
    ports:
      - "3306:3306"
      
  minion:  
    container_name: minio
    image: minio/minio:RELEASE.2021-04-18T19-26-29Z
    restart: always  
    ports:  
      - "9001:9000"  
    volumes:   
      - ./minion/data:/data
      - ./minion/config:/root/.minio
    environment:
      MINIO_ACCESS_KEY: "minio"
      MINIO_SECRET_KEY: "minio123"
    command: server /data
    
  redis:  
    container_name: redis
    image: redis:latest  
    restart: always 
    environment:
      - TZ=Asia/Shanghai 
    ports:  
      - "6379:6379"  
    volumes:  
      - ./redis:/data
      - ./redis/conf/redis.conf:/etc/redis/redis.conf:rw
      - ./redis/data:/data:rw

  nginx:
    container_name: nginx
    image: nginx
    ports:
      - "80:80"
    volumes:
      - ./nginx.conf:/etc/nginx/nginx.conf nginx

  gitlab:
      container_name: gitlab
      image: twang2218/gitlab-ce-zh:11.1.4
      restart: unless-stopped
      privileged: true
      hostname: 'gitlab'
      environment:
        TZ: 'Asia/Shanghai'
        GITLAB_OMNIBUS_CONFIG:  |
          gitlab_rails['time_zone'] = 'Asia/Shanghai'
          gitlab_rails['gitlab_shell_ssh_port'] = 2224
      ports:
        - '8083:80'
        - '443:443'
        - '2224:22'
      volumes:
        - ./gitlab/config:/etc/gitlab
        - ./gitlab/data:/var/opt/gitlab
        - ./gitlab/logs:/var/log/gitlab

  portainer:
    container_name: portainer
    image: portainer/portainer
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data
volumes:
  portainer_data:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值