使用代码:https://files.cnblogs.com/files/miracle9527/demo4springboot.rar
# 约定#为注释行、$为命令行
# 开始操作前将demo4springboot/src/main/resources中以下三个变量修改为实际值
# spring.datasource.url、spring.datasource.username、spring.datasource.password
# 若本机无docker引擎,进行以下操作
# 登录docker引擎所在服务器,并执行以下操作
$ vim /etc/docker/daemon.json
# 将daemon.json修改为右侧内容 { "hosts":["tcp://0.0.0.0:2375","unix:///var/run/docker.sock"],"registry-mirrors": ["http://fa659bca.m.daocloud.io"]}
$ firewall-cmd --zone=public --add-port=2375/tcp --permanen
$ firewall-cmd --reload
$ systemctl restart docker
# 增加系统变量
# WINDOWS: 系统属性——>环境变量——>新建系统变量 增加(IP为docker服务器所在ip) DOCKER_HOST tcp://IP:2375
# Linux: export DOCKER_HOST=tcp://IP:2375
# 本机安装有docker引擎直接进行以下操作
# 进入项目目录
$ cd demo4springboot/
$ mvn clean compile package dockerfile:build
# Image会被直接推送至DOCKER_HOST(本机)的docker引擎
# Image信息生成在target/docker下
# 启动docker
# 登录docker引擎所在服务器,并执行以下操作
$ docker images
# 可以看到springio/demo4springboot的Image被存在了本地仓库中,使用镜像ID或NAME:TAG实例化一个容器,这里使用NAME:TAG
$ docker run -it -d -P -name springio/demo4springboot:latest
# 返回容器id 31b303435ec976a0e138d524253d5bd5e00a8cbdbf86355587cfebc518d87c65
$ docker port 31b303435ec976a0e138d524253d5bd5e00a8cbdbf86355587cfebc518d87c65
# 可以看到该容器对外映射的端口 8080/tcp -> 0.0.0.0:32769
# 验证接口
# ${DOCKER_HOST}替换为docker引擎所在服务器ip
# 在浏览器中访问 ${DOCKER_HOST}:32769/test 可以看到Hello World返回
# 在浏览器中访问 ${DOCKER_HOST}:32769/person/save?name=id=9527&张三&iq=250 可以在数据库中person表中看到新增了该条记录