docker-compose小总结

Docker小总结
docker-compose 官方文档
docker-compose 常用命令【C语言中文网】
docker-compose restart: always

常用

1
2
3
4
5
6
7
# 设置时区:在环境变量里面设置 TZ
# 容器启动顺序:depends_on
# 自启动:restart: always
# 容器名:container_name
# 挂载:volumes
# host网络:network_mode: 'host'
参考案例,如下 apollo 配置中心
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68

cat > docker-compose.yml << 'EOF'
version: "3"
services:
apollo-configservice:
image: apolloconfig/apollo-configservice
restart: always
container_name: apollo-configservice
volumes:
- ./logs/apollo-configservice:/opt/logs
ports:
- "8080:8080"
network_mode: 'host'
environment:
- TZ=Asia/Shanghai
- SERVER_PORT=8080
- EUREKA_INSTANCE_IP_ADDRESS=10.11.12.232
- SPRING_DATASOURCE_URL=jdbc:mysql://10.11.12.232:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456



apollo-adminservice:
image: apolloconfig/apollo-adminservice
restart: always
container_name: apollo-adminservice
volumes:
- ./logs/apollo-adminservice:/opt/logs
ports:
- "8090:8090"
network_mode: 'host'
depends_on:
- apollo-configservice
environment:
- TZ=Asia/Shanghai
- SERVER_PORT=8090
- EUREKA_INSTANCE_IP_ADDRESS=10.11.12.232
- SPRING_DATASOURCE_URL=jdbc:mysql://10.11.12.232:3306/ApolloConfigDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456



apollo-portal:
image: apolloconfig/apollo-portal
restart: always
container_name: apollo-portal
volumes:
- ./logs/apollo-portal:/opt/logs
ports:
- "8070:8070"
network_mode: 'host'
depends_on:
- apollo-adminservice
environment:
- TZ=Asia/Shanghai
- SERVER_PORT=8070
- EUREKA_INSTANCE_IP_ADDRESS=10.11.12.232
- SPRING_DATASOURCE_URL=jdbc:mysql://10.11.12.232:3306/ApolloPortalDB?characterEncoding=utf8&serverTimezone=Asia/Shanghai
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
- APOLLO_PORTAL_ENVS=dev,fat,uat,pro
- DEV_META=http://10.11.12.232:8080
- FAT_META=http://10.11.12.232:8080
- UAT_META=http://10.11.12.232:8080
- PRO_META=http://10.11.12.232:8080
EOF

安装&卸载

1)、安装
1.27.2 版本 2020-09-16 最新
sudo curl -L "https://taopanfeng.coding.net/p/MyProject/d/MyProject/git/raw/master/docker-compose/docker-compose-Linux-x86_64" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose -v

1
2
如果要更换版本,直接把下面命令的`1.25.5`替换其他版本,更多版本参考:https://github.com/docker/compose/releases
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2)、卸载
sudo rm /usr/local/bin/docker-compose

已启动

Nacos

集群版

首先要
安装 docker-compose
安装 git

、创建一个文件夹,保存git克隆下来的内容
mkdir -p /app/docker/nacos

、进入创建的文件夹
cd /app/docker/nacos

、执行初始化
git init

、克隆项目
git clone https://github.com/nacos-group/nacos-docker.git

、进入克隆的项目
cd nacos-docker

、修改配置文件,添加以下内容。
我这里不添加的话,外网会访问不了。我认为是虚拟机内存不够用(默认内存太大了)。
vi env/nacos-hostname.env

1
2
3
4
5
6
7
8
# 解决启动之后,外网访问不了的问题
#JVM_XMS -Xms default :2g
#JVM_XMX -Xmx default :2g
#JVM_XMN -Xmn default :1g

JVM_XMS=256M
JVM_XMX=256M
JVM_XMN=256M

在这里插入图片描述

docker-compose命令

、启动
-f:指定配置文件,默认是当前目录的docker-compose.yml 或 docker-compose.yaml
-d:后台运行
docker-compose -f example/cluster-hostname.yaml up -d
在这里插入图片描述

、查看状态
docker-compose -f example/cluster-hostname.yaml ps

、停止
docker-compose -f example/cluster-hostname.yaml stop

注意点:
启动的话,这里会启动四个Docker容器(3个nacos,1个mysql),也可以使用docker ps查看这四个容器。
docker-compose停止之后,容器仍存在,只是未启动,可使用docker ps -a查看。

、启动成功之后
在这里插入图片描述
在这里插入图片描述

关于Docker启动Nginx负载均衡Nacos集群