怎么用docker将项目打包成镜像并导出给别人适用 (dockerfile) |
您所在的位置:网站首页 › 如何把文件发给别人 › 怎么用docker将项目打包成镜像并导出给别人适用 (dockerfile) |
前提
你得安装docker,没有安装的可以看看这篇文章 编写dockerfile这个位置最好和我一样,不然后面打包成镜像可能出问题(找不到jar包) FROM openjdk:8-jdk-slim MAINTAINER JacksonNing COPY /target/iec104-1.0.0-SNAPSHOT.jar /iec104.jar EXPOSE 8082 ENTRYPOINT ["java","-jar","/iec104.jar"]application.yml server: port: 8082 idea将项目打包成jar先clean再package 注意程序只能有一个main方法,不然打包会报错 以下代表打包成功 使用docker打包成镜像1、在dockerfile的目录下运行终端 docker build -t iec104:v1.0 .2、查看是否有镜像 docker images3、运行容器 docker run -itd -p 8081:8081 --name iec104 iec104:v1.0或者推荐这个,因为我的这个项目是想要容器能够监听到宿主机的端口,我使用以下命令即可 be268578aa6c 是镜像id docker run --net=host -d be268578aa6c 导出镜像1、将正在运行的docker容器打包成image镜像 docker commit 4f2a09831d74 iec104:v1.0 docker commit 0a3b26324050[容器ID] mysql:1.0 [名称:版本号]2、把刚刚打包好的镜像保存成 tar 文件 docker save iec104:v1.0 -o /data/home/nsx/Documents/iec104.tar docker save 镜像名:版本号 -o /路径/保存的包名.tar3、将打包好的镜像拷贝到新机器上面,执行load命令解压 docker load < iec104.tar #执行命令 常用命令 docker tag 95bfbad9e10c iec104:v1.0 #打标签 docker exec -it 669fd6e56323 bash #进入容器 docker logs 52e57ee5e7c6 #打印容器的日志 docker stop 52e57ee5e7c6 #暂停容器 docker rm -f 52e57ee5e7c6 #删除容器 docker build -t iec104:v1.0 . #打包镜像 docker run -itd -p 8082:8082 --name iec104 iec104:v1.0 #启动镜像 docker commit 4f2a09831d74 iec104:v1.0 #将正在运行的docker容器打包成image镜像 docker save iec104:v1.0 -o /data/home/nsx/Documents/iec104.tar #把打包好的镜像保存成 tar 文件 docker run --net=host -d be268578aa6c #使用host网络模式启动,解决docker容器内无法访问宿主机的资源的问题参考: https://blog.csdn.net/qq_28880087/article/details/114575736?spm=1001.2014.3001.5506 https://blog.csdn.net/springhub/article/details/127482319?spm=1001.2014.3001.5506 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |