云发布的Docker部署文档
文章目录
- 云发布的Docker部署文档
- 1、服务器安装 Docker
- 2、修改后端微服务的配置
- 2.1 修改 MySQL 的配置
- 2.2 修改 Redis 的配置
- 2.3 修改 Nacos 的配置
- 3、生成微服务镜像
- 4、拉取远程镜像
- 5、生成前端镜像
- 5.1 准备文件
- 5.2 构建前端镜像
- 6、基于镜像生成并运行容器
- 6.1 MySQL
- 6.2 Redis
- 6.3 Nacos
- 6.4 三个后端微服务和网关服务
- 6.5 前端服务
- 7、最终镜像和容器情况展示
- 7.1 镜像展示
- 7.2 容器展示
- 8、安全组设置
- 9、访问本系统
1、服务器安装 Docker
我在华为云服务器上选择的系统是 CentOS 7,因此使用 yum 安装Docker ,并拉取OpenJDK的镜像。使用的是root账户。
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
sudo yum -y install docker-ce
sudo service docker start
docker pull openjdk:8
2、修改后端微服务的配置
2.1 修改 MySQL 的配置
原配置:
url: jdbc:mysql://localhost:3306/tp_music?serverTimezone=Asia/Shanghai&useSSL=false
修改后的配置:
url: jdbc:mysql://mysql/tp_music?serverTimezone=Asia/Shanghai&useSSL=false
其中,tp_music是自己要使用的数据库名。
2.2 修改 Redis 的配置
原配置:
redis :
host: localhost
port: 6379
修改后的配置:
redis:
host: redis
2.3 修改 Nacos 的配置
原配置:
cloud:
nacos:
server-addr: localhost:8848
修改后的配置:
cloud:
nacos:
server-addr: nacos:8848
3、生成微服务镜像
将三个后端微服务、一个Gateway网关服务与它们对应的 Dockerfile 文件分别放在一起,使用WinSCP文件上传工具上传到服务器后,在服务器上使用 Docker 镜像构建命令构建镜像。
关于Dockerfile文件的具体写法,可以去看 虚拟机下Ubuntu系统的Docker部署 的第三节对应部分
接着分别进入四个文件夹中使用对应的命令构建镜像。注意,这里的文件夹地址是文件上传到服务器的具体地址,例如我这里是 ~/Music
cd ~/Music/User
docker build -t user .
cd ~/Music/Manage
docker build -t manage .
cd ~/Music/Apply
docker build -t apply .
cd ~/Music/Gateway
docker build -t gateway .
4、拉取远程镜像
去 DockerHub 拉取 MySQL、Redis、Nacos 和 Nginx 的镜像。
docker pull mysql:5.7
docker pull redis
docker pull nacos/nacos-server:v2.1.2-slim
docker pull nginx
5、生成前端镜像
5.1 准备文件
将 nginx 配置文件,前端打包的网页文件和 Dockerfile 放在一起,并上传到服务器上。同样地,上传的地址自己要记住。
5.2 构建前端镜像
在服务器上使用 Docker 镜像构建命令构建前端镜像。
docker build -t vue .
docker build -t vue2 .
6、基于镜像生成并运行容器
6.1 MySQL
Mysql容器生成之后,不要忘了还需要进行sql数据的导入
docker run -d -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
6.2 Redis
docker run -d -p 6379:6379 --name redis redis
6.3 Nacos
docker run -d -p 8848:8848 --name nacos -e PREFER_HOST_MODE=hostname -e MODE=standalone nacos/nacos-server:v2.1.2-slim
6.4 三个后端微服务和网关服务
docker run -d -p 8881:8881 --name user --link mysql --link redis --link nacos user
docker run -d -p 8882:8882 --name manage --link mysql --link redis --link nacos manage
docker run -d -p 8883:8883 --name apply --link mysql --link redis --link nacos apply
docker run -d -p 8888:8888 --name gateway --link redis --link nacos --link user --link manage --link apply gateway
6.5 前端服务
docker run -d -p 80:80 --name vue vue
docker run -d -p 81:81 --name vue2 vue2
7、最终镜像和容器情况展示
7.1 镜像展示
docker images
其中 openjdk、mysql、redis、nacos/nacos-server、nginx、vue、vue2、user、manage、apply 和 gateway 为本项目的所有镜像。
7.2 容器展示
docker ps
图中所示九个容器即为本项目的所有容器。
8、安全组设置
我们需要去华为云服务器管理控制台设置安全组,将需要开放的端口打开,需要开放8848、3306、6379、8888、8881、8882、8883和80、81端口。
9、访问本系统
打开浏览器,输入 http://ip 即可访问本系统,其中ip为华为云服务器的公网ip地址。