一、前言
本文撰写目的在于帮助开发成员部署后端项目,采用容器化技术Docker,成功部署上线后,可以通过网络地址访问后端项目。注意本文仅展示实操过程,不探讨技术原理,感兴趣的读者可以自行学习相关知识。
二、前置准备
1、服务器
本文以腾讯云服务器为例,购买学生版轻量级服务器(土豪随意)。
进入cloud.tencent.com/act/campus ,购买轻量应用服务器,自选时长,实名认证后,选择CentOS 7镜像。
进入控制台,选择轻量应用服务器,重置密码,填写自己的密码
2、XSHELL和XFTP
进入www.xshell.com/zh/free-for… ,认证家庭版(土豪同样随意),选择两者都需后下载
3、后端项目
一个可以正常运行的后端项目,配有Maven
三、连接服务器
(1)打开XSELL,选择新建会话
四、安装Docker
1、环境查看
确保系统内核是3.10以上,查看命令:uname -r
确保系统版本正确(centos7),查看命令:cat /etc/os-release
2、安装Docker
(1)下载需要的安装包,命令:yum install -y yum-utils
(2)设置镜像仓库,命令:
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
(3)安装Docker社区版,命令:yum install docker-ce docker-ce-cli containerd.io
安装过程中选择会问你is this ok,输入y
出现以下信息则为安装成功
(4)启动Docker,命令systemctl start docker
(5)查看Docker版本,命令:docker version
(4)配置阿里云镜像加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors":["https://qiyb9988.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
五、编写Dockerfile文件
打开idea,右键项目,新建文件,命名为Dockerfile,输入以下内容。
注意: java版本需要与自己的java版本对应,自定义端口号时,需要到服务器防火墙中开放对应的端口。
FROM java:8
COPY *.jar /app.jar
CMD ["--server.port=80"]
EXPOSE 80
ENTRYPOINT ["java","-jar","/app.jar"]
六、打包并传输后端项目
(1)打开idea,在右侧Maven中选择生命周期,选择package,打包完成后target文件夹中会出现XXX.jar文件
(2)在XSHELL上方工具栏中选择XFTP
(5)进入XSHELL,进入idea目录:cd /home/idea
(6)构建项目镜像: docker build -t 自定义镜像名称 .
例如:docker build -t mis .,特别注意最后有一个点
(7)启动容器:docker run -d -p 端口号:端口号
例如:docker run -d -p 80:80 -name mis mis
(5)查看容器:docker ps
查看所有容器,包括未能成功启动的:docker ps -a
(6)访问接口:http://ip地址:端口号/controller接口
例如:http://119.178.9.170/user/index (仅做格式展示用,不能访问)
到这里如果没问题,那恭喜你成功部署完成了
以下为重新部署的步骤:
(1)docker ps查看容器
(2)复制容器id
(3)docker stop 容器id停止运行
(4)docker rm 容器id移除容器
(5)重新进行四的步骤(最好将空镜像也一并删除)
五、结语
本文展示的仅为部署后端HelloWorld级别的项目,实际部署过程中,还需要额外安装MySQL ,Redis等中间件,读者可以参考其他文章自行部署。