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 //查询日志