重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
使用 idea 的maven 打包,在target 目录下生成一个jar文件 docker-boot-demo-1.0.0.jar
成都创新互联公司是专业的织金网站建设公司,织金接单;提供成都网站设计、成都做网站,网页设计,网站设计,建网站,PHP网站建设等专业做网站服务;采用PHP框架,可快速的进行织金网站开发网页制作和功能扩展;专业做搜索引擎喜爱的网站,专业的做网站团队,希望更多企业前来合作!注意:这个jar包的运行端口是 8080
2. 准备环境(1)在 linux 主机里新建一个目录 /home/admin/app,用于存放bash文件和jar包。然后在该目录 下创建bash文件和容器配置文件即Dockerfile
(2)创建bash文件
vim run.sh
java -jar /usr/data/docker-boot-demo-1.0.0.jar
/usr/data 是docker容器内的路径,这是docker自己管理的,不需要手动创建。后面会将此路径挂载到当前目录 /home/admin/app
(3) 创建容器配置文件 Dockerfile, 并写入以下内容
vim Dockerfile
FROM openjdk:8-jdk-alpine
EXPOSE 8080
ENTRYPOINT ["sh","/usr/data/run.sh"]
注意EXPOSE 是 jar包运行的端口,与我们本地的一致
3. 构建镜像还是在 /home/admin/app 目录下构建镜像,注意最后面的 "." 表示Dockerfile 在当前目录
4. 创建容器并运行docker build -t mydemo:1.0.0 .
docker run -d -it --name=mydemo -p 8081:8080 -v /home/admin/app:/usr/data mydemo:1.0.0
执行后返回容器ID。
要查看运行的日志可以通过命令
docker logs --tail=100 mydemo
前面一个8081 是表示映射到宿主机的端口, 即外部浏览器可以通过访问宿主机的这个端口调用到接口,这个可以随意指定, 前提是宿主机的防火墙已经开放了这个端口.
后面的是8080 是程序执行的端口
5. 补充说明以上的做法, 我的思路是将容器内的目录挂载到宿主机的目录下. 也就是将docker 容器内的
/usr/data 挂载到宿主机的 /home/admin/app 目录下。这样做的好处是方便后期更新维护。
比如以后这个springboot项目改了代码,重新打包命名为 docker-boot-demo-2.0.0.jar
只需要将新的jar包上传到/home/admin/app 目录,并将启动脚本中1.0.0.jar 改成 2.0.0.jar即可。
最后将之前的老容器删除,再重新运行容器。
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧