用Dockerfile构建镜像

一.创建自定义镜像

1. 用命令更新镜像
1、根据基础镜像,创建容器
docker run --name mytomcat -p 80:8080 -d tomcat

2、修改容器内容

docker exec -it mytomcat /bin/bash

cd webapps/ROOT

rm -f index.jsp

echo "hello world" > index. html

exit

3、提交为新镜像

docker commit -m="描述消息" -a="作者" 容器ID或容器名 镜像:TAG

#例:
#docker commit -m="修改了首页" -a="测试" mytomcat zhang/tomcat:v1.0

4、使用新镜像运行容器

docker run --name tom -p 8080:8080 -d zhang/tomcat:v1.0
2. 用Dockerfile构建镜像
创建一个Dockerfile文件 `vi Dockerfile`
#注意Dockerfile指令须大写

FROM tomcat

MAINTAINER zhang

RUN rm -f /usr/local/tomcat/webapps/ROOT/index.jsp

RUN echo "<h1>hello world2</h1>" > /usr/local/tomcat/webapps/ROOT/index.html

构建新镜像

docker build -f Dockerfile -t zhang/tomcat:v2.0 .

#-f Dockerfile路径,默认是当前目录
#-t 指定新镜像的名字以及TAG

二.使用Dockerfile文件部署Spring应用

a、使用tomcat镜像
1、拉取tomcat文件 : docker pull 镜像NAME:镜像TAG
docker pull tomcat:8.5

2、以挂载文件形式创建容器

docker run -d -p 8098:8080 -v /data/my_tomcat_1/webapps:/usr/local/tomcat/webapps  --name my_tomcat_1  tomcat:8.5

参数解释

参数含义
-d后台运行
-p 8098 : 8080把容器运行的 8080 端口映射到 host 的 8098 端口
-v /data/my_tomcat_1/webapps : /usr/local/tomcat/webapps用来将容器目录挂载在host主机上,前面的路径是host主机目录
–name my_tomcat_1给容器起个名字:my_tomcat_1
tomcat:8.5tomcat是下载的镜像的NAME。8.5是镜像TAG

3、把项目打成war包,并上传到 /data/my_tomcat_1/webapps 目录

4、重新运行容器

b、自定义镜像

1、把项目打包成可执行jar包,并上传到Linux服务器

2、在jar包路径下创建Dockerfile文件vi Dockerfile

# 指定基础镜像,本地没有会从dockerHub pull下来
FROM java:8

#可执行jar复制到基础镜像的根目录下
ADD test.jar /test.jar

#镜像要暴露旳端口,如要使用端口,在执行docker run命令时使用-p生效
EXPOSE 8080

#在镜像运行为容器后执行旳命令
ENTRYPOINT ["java", "-jar", "/test.jar"]

3、使用 docker build 命令构建镜像,基本语法

docker build -f Dockerfile -t zhang/myapp:v1 .

#-f 指定Dockerfile文件的路径
#-t 指定镜像名字和TAG
#. 指当前目录,这里实际上需要一个上下文路径

4、运行自己的spring boot镜像

docker run --name myapp -p 8098:8080 -d zhang/myapp:v1
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值