项目部署到docker步骤及命令

一、前言

本篇以JAVA项目为例,概括项目从打包打部署到docker所有步骤及命令。

二、项目打包

先将项目打包为jar包,通过xftp把jar包上传至(Linux)服务器目录。

三、创建DockerFile文件

  1. 在jar包所在的位置创建一个Dockerfile 文件,要保证jar包和Dockerfile 在同一个目录下。
  2. 编辑DockerFile配置文件。

四、将镜像上传镜像仓库

1.生成文件的docker镜像,并且修改镜像tag。

docker build -t bot-explain-manager:v1.0 .
#注意最后有个 . 代表路径,不能遗漏了
docker tag bot-explain-manager:v1.0 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0
#前面为原来的镜像名,后面为修改后的镜像名,一定要带上版本号。
#80.68.64.xxx:xxxx镜像仓库的端口号,便于后面上传镜像仓库(如harbor)
docker images
#查看现有镜像

2.将镜像上传镜像仓库

#先修改配置文件,配置私有仓库,不然无法访问仓库
vim /etc/docker/daemon.json
 
# 添加配置
"insecure-registries": [
    "192.xxx.xx.135"
]

3.重启docker

#重启docker
systemctl restart docker

4.登入仓库并将镜像上传

#登入镜像仓库
docker login 192.xxx.xx.XXX
#docker push上传镜像
docker push 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0

五、在服务器上拉取镜像

1.连接部署服务器

#ssh连接服务器,需要密码
sudo ssh -p 22 root@124.xx.xx.237

2.在部署的服务器上拉取镜像

同第四步:先修改配置文件,配置私有仓库,添加配置,重启docker,登入镜像仓库
#docker pull拉取镜像
docker pull 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0

3.启动容器

#注意docker run可能遇到问题
#1.前端文件
#-d保证后台运行,-p指明端口号
#-p   小写p表示docker会选择一个具体的宿主机端口映射到容器内部开放的网络端口上。
#-P   大写P表示docker会随机选择一个宿主机端口映射到容器内部开放的网络端口上。
#宿主机的一个端口只能映射到容器内部的某一个端口上,比如:8080->80之后,就不能8080->81
#容器内部的某个端口可以被宿主机的多个端口映射,比如:8080->80,8090->80,8099->80
docker run -d -p xx:xxx 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0

#2.后端文件
#最后加上bin/sh防止后台认为容器无任务,,将容器终止
docker run -d -it -p xx:xxx 80.68.64.xxx:xxxx/application/bot-explain-manager:v1.0 bin/sh

#检查容器是否生成
docker ps
docker ps -a

4.修改配置文件

#进入容器
docker exec -it containerID /bin/bash
#安装vim,便于直接在容器内修改文件
https://www.cnblogs.com/adawoo/p/13949419.html #很完整,可参考
#修改完后重启容器
docker restart containerName
经验分享 程序员 微信小程序 职场和发展