六、创建镜像
1.创建镜像两种方式
方式1: 更新镜像 docker commit
方式2:构建镜像 docker build
2.更新镜像
1)用法
docker commit -m=“描述信息” -a=作者 容器id或者容器名 镜像名:tag
2)步骤
①根据镜像运行容器
②进入容器、修改内容
③提交为新镜像、查看镜像变更历史-docker history 镜像id
④用新镜像运行容器
3.构建镜像
1.使用Dockerfile构建镜像的步骤
1) 编写 Dockerfile文件
2) build构建镜像
docker build -f Dockerfile文件的路径 -t 镜像名:tag 命令执行的上下文
3) 基于新镜像运行容器
2.常用指令
1)FROM 指定基础镜像
FROM openjdk:8jdk
2)MAINTAINER指定作者
MAINTAINER tester
3)RUN指定镜像构建过程中要运行的命令
RUN mkdir -p /test/data
4)CMD指定容器启动时默认要运行的命令
CMD JAVA -jar gift-0.0.1-SNAPSHOT.jar
cmd在构建时并不运行,在docker run运行
dockerfile中只能写一条CMD指令,如果写了多条,只有最后一条生效
5)ENV设置环境变量
格式ENV key value
ENV CATALINA_HOME /usr/local/tomcat
6)WORKDIR 进入容器后的目录–不指定,默认就是/
目录先要创建好,RUN mkdir -p “$CATALINA_HOME”
WORKDIR $CATALINA_HOME
7)COPY 被拷贝文件要和Dockerfile在同一个目录下
COPY arthas-boot.jar /usr/skywalking/agent/
COPY arthas-packaging-3.5.1-bin.zip /usr/skywalking/agent/
8)ADD拷贝文件到容器中指定目录,压缩文件会自动解压缩
ADD apache-tomcat-9.0.19.tar.gz /usr/local/
9)EXPOSE声明暴露的端口
3.示例:
3.1 用Dockerfile实现 docker commit中示例,修改tomcat后,打一个新镜像
步骤一:编写Dockerfile文件
FROM tomcat
MAINTAINER tester
RUN echo " "> /usr/local/tomcat/webapps/ROOT/index.jsp
步骤二:
docker build -f Dockerfile -t tomcat:v3 .
步骤三:
docker run --name=“tomcat3” -p 38080:8080 -d tomcat:v3
3.2基于openjdk,将gift打到镜像中
vim Dockerfile
FROM openjdk:8-jdk
COPY gift-0.0.1-SNAPSHOT.jar /
EXPOSE 8096
CMD java -jar gift-0.0.1-SNAPSHOT.jar
docker build -f Dockerfile -t gift:v2 .
docker run --name gift2 -p 28096:8096 -d 4a9edcc433e5
jmeter发请求
get
/qzcsbj/gift/order/findByOrderNumber?order_number=123456