创建自定义Docker镜像
Docker
镜像
创建镜像
有时从Docker镜像仓库中下载的镜像不能满足我们的要求,此时可以基于这个镜像(基础镜像)封装一个自己的镜像。
两种方式:
1、更新镜像:使用docker commit命令
2、构建镜像:使用docker build命令,需要创建Dockerfile文件
一、更新镜像
先使用基础镜像创建一个容器,然后对容器进行修改,最后使用commit命令提交为一个新的镜像
步骤:
a、根据基础镜像,创建容器
b、修改容器
c、提交为新镜像,语法: docker commit m="描述消息" a="作者" 容器id或容器名 镜像名:tag
d、使用新镜像运行容器
二、构建镜像
根据Dockerfile文件来自动构建镜像
Dockerfile是一个包含创建镜像所有命令的文本文件,使用docker build命令可以根据Dockerfile的内容创建镜像
步骤:
a、创建一个Dockerfile文件 vi Dockerfile
b、构建新镜像,语法: docker build f Dockerfile文件的路径 t 镜像名:tag 命令执行的上下文
c、使用新镜像运行容器
有时从Docker镜像仓库中下载的镜像不能满足我们的要求,此时可以基于这个镜像(基础镜像)封装一个自己的镜像。
两种方式:
1、更新镜像:使用docker commit命令
2、构建镜像:使用docker build命令,需要创建Dockerfile文件
一、更新镜像
先使用基础镜像创建一个容器,然后对容器进行修改,最后使用commit命令提交为一个新的镜像
步骤:
a、根据基础镜像,创建容器
docker run --name mytomcat -p 8080:8080 -d tomcat
b、修改容器
docker exec -it bcd08edac78d /bin/bash
cd webapps/ROOT
rm -f index.jsp
echo welcome to tomcat > index.html
exit
c、提交为新镜像,语法: docker commit m="描述消息" a="作者" 容器id或容器名 镜像名:tag
docker commit -m="修改默认索引页" -a="AAA" bcd08edac78d itany/tomcat:v1
d、使用新镜像运行容器
docker run --name tomcat_v1 -p:8080:8080 -d itany/tomcat:v1
二、构建镜像
根据Dockerfile文件来自动构建镜像
Dockerfile是一个包含创建镜像所有命令的文本文件,使用docker build命令可以根据Dockerfile的内容创建镜像
步骤:
a、创建一个Dockerfile文件 vi Dockerfile
# 指定基础镜像
FROM tomcat
# 指定作者
MAINTAINER yuanke@163.com
# 执行命令
RUN rm -f /usr/local/tomcat/webapps/ROOT/index.jsp
RUN echo "welcome to tomcat!" > /usr/local/tomcat/webapps/ROOT/index.html
b、构建新镜像,语法: docker build f Dockerfile文件的路径 t 镜像名:tag 命令执行的上下文
docker build -f Dockerfile -t itany/tomcat:v2 .
c、使用新镜像运行容器
docker run -p 9999:8080 -d itany/tomcat:v