快速发布一个docker容器

准备阶段

一台拥有 docker 环境的 Linux 服务器。

一个可以运行 jar 包的镜像。 (获取镜像见 附录Ⅰ)

一个项目包 ( demo-1.0.0.jar )

创建一个文件夹 /opt/publish/jar ,把项目包 demo-1.0.0.jar 放置该目录下。

发布阶段

发布命令

docker run -d -p 30000:8080 -e TZ=Asia/Shanghai --name=demo -v /opt/publish/jar/demo-1.0.0.jar:/opt/demo.jar --restart=always java:basic

java -jar /opt/demo.jar --spring.profiles.active=prod

或 (可监控容器内的Tomcat容器的健康状况, 对于 unhealthy 的容器, 目前在 docker swarm 管理的集群才会被销毁重建!!!!)

docker run -d -p 30000:8080 -e TZ=Asia/Shanghai --name=demo -v /opt/publish/jar/demo-1.0.0.jar:/opt/demo.jar --restart=always --health-cmd

"curl --fail http://192.168.10.242:8080/ip || exit 1" --health-interval 30s --health-retries 3 --health-timeout 30s java:basic java -jar

/opt/demo.jar --spring.profiles.active=prod

备注

-p 30000:8080 , 端口映射, 30000 : 服务器暴露端口; 8080 : 容器内的端口。

-e TZ=Asia/Shanghai 设置容器内的时区,若应用对时间有要求,必须设置!!!

--name=demo 设置容器名称。

-v /opt/publish/jar/demo-1.0.0.jar:/opt/demo.jar 磁盘映射, 把项目包 demo-1.0.0.jar 映射至容器中; 此处可以看到两者的名称不同,也是

可以的。但是启动容器的时候,需要使用容器里面的项目包名称。

--restart=always 容器重启策略, 此处意思是: 无论何时,一旦停止就会重启。除非删除容器! 该策略只支持 docker run 命令; 不支持

docker service 命令。

java:basic 镜像名称及标签, 镜像ID 也可。

java -jar /opt/demo.jar --spring.profiles.active=prod 容器创建成功后, 运行的命令! 可以看到运行的 项目 jar 包,是容器内的命名。

--health-cmd "curl --fail http://192.168.10.242:8080/ip || exit 1" 健康检查命令, http://192.168.10.242:8080/ip 为项目中的地址,

docker 会向该地址发起请求。 若正常返回, 说明 容器内服务正常 ,容器会显示 healthy , 否则显示 unhealthy 。

--health-interval 30s 健康请求时间间隔,每隔30s发起一次请求。

--health-retries 3 意思为 当请求3次都为 unhealthy 时, 才会将容器标记为 unhealthy 。

--health-timeout 30s 健康请求超时时间。

发布测试

curl -X GET -d a=b&c=d http://IP:30000/YOUR_API_URL

若接口正常返回,则说明部署成功!

外网映射

(略)

附录 Ⅰ

其实镜像已经准备好!

上海天好项目文档

Page 2/2 Copyright Friday, Feb 9, 2018, 2:01 PM by Tele-Hot

检查机器

如果部署在 192.168.10.216 机器上 , 可忽略下文!!!!

检查镜像

docker images 是否存在该镜像!

REPOSITORY TAG IMAGE ID

java basic 25dab92a20aa

若存在, 可忽略下文!!!!

拷贝镜像压缩包

运行如下命令即可:

第一次提示安全确认输入: yes

之后需要输入密码: 1q2w3e4r

把 java.tar 文件拷贝到当前机器的当前目录。 ./ 可自定义。

解压镜像

运行命令: docker load

注意 java.tar 在当前目录下。再次 检查镜像 可以看到镜像存在。

  • 发表于:
  • 原文链接http://kuaibao.qq.com/s/20180223A05VKP00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券