环境安装
docker安装
yum install -y yum-utils yum-config-manager --add-repo https://download.docker.com/linux/centos/docker- ce.repo
yum install -y docker-ce docker-ce-cli containerd.io
#开机启动
systemctl enable docker
#启动
systemctl start docker
测试安装
#查看Docker状态
docker info
Swarm安装
#拉取镜像
docker pull swarm
测试安装
#查看版本
docker run --rm swarm -v
docker-compose安装
运行以下命令以下载Docker Compose的当前稳定版本:
curl -L "https://github.com/docker/compose/releases/download/1.26.0/docker- compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
将可执行权限应用于二进制文件
chmod +x /usr/local/bin/docker-compose
添加到环境中
#ln -s : 软链接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试安装
docker-compose --version
拉取镜像
mysql镜像
docker pull mysql:5.7.30
redis镜像
docker pull redis:5.0.9
spring boot应用镜像
对要发布的spring boot应用打镜像
上传jar包,并编写dockerfile
dockerfile-app:
FROM java:8
MAINTAINER nico <nico@gmail.com>
VOLUME /tmp
ADD Hot.jar Hot.jar
RUN bash -c 'touch /Hot.jar'
ENTRYPOINT ["java","-jar","/Hot.jar"]
打镜像
docker build -f dockerfile-app -t lgedu/hot:1.0 .
查看镜像仓库
docker images
Swarm集群搭建
机器A:加入manager
docker swarm init --advertise-addr 当前机器A_ip
#加入manager
docker swarm join-token manager
机器B:加入worker
#根据机器A生成的
docker swarm join --token SWMTKN-1- 60etl768pzoibxuqlpeuyyp73jjwwknbc2yvl23217y60md3123g13xeb 172.16.xx.xx:2377
#查看节点信息
docker node ls
docker-compose配置
docker-compose.yml
version: "3.0"
services:
mysql:
image: mysql:5.7.30
ports:
- 3306:3306
command:
--default-authentication-plugin=mysql_native_password
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1
--default-time-zone=+8:00
environment:
MYSQL_ROOT_PASSWORD: "root"
volumes:
- "/docker/mysql/db:/var/lib/mysql"
deploy:
mode: replicated
replicas: 2
redis:
image: redis:5.0.9
environment:
- TZ=Asia/beijing
ports:
- 6379:6379
volumes:
- /docker/redis/data:/data
deploy:
mode: replicated
replicas: 2
lgedu:
image: lgedu/hot:1.0
ports:
- 8081:8081
deploy:
mode: replicated
replicas: 2
启动
docker stack deploy -c docker-compose.yml web
查看服务
docker stack services web
完成测试