本文主要是介绍自制镜像(贫穷版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
在装了docker的机子root目录操作
mkdir -p docker-images/tomcat-image/
cd docker-images/tomcat-image/
把这两个红框的拉到docker-images/tomcat-image/
vim Dockerfile
#导入基础镜像
from centos:7
#定义作者
maintainer GGBond<2958458916@qq.com>
#删除镜像中centos的镜像源
run rm -rf /etc/yum.repos.d/*
#创建目录
run mkdir /usr/local/data
#复制原材料到镜像中 add会自动把apache-tomcat-9.0.52.tar.gz解压apache-tomcat-9.0.52
copy jdk-8u151-linux-x64.rpm /usr/local/data
add apache-tomcat-9.0.52.tar.gz /usr/local/data
#修改tomcat名字 文件名字
run cd /usr/local/data && mv apache-tomcat-9.0.52 GGBoonds_tomcat
#安装jdk
run rpm -ivh /usr/local/data/jdk-8u151-linux-x64.rpm
#entrypoint 执行命令 和cmd run 一样 不能被cmd run 执行命令覆盖
entrypoint /usr/local/data/GGBoonds_tomcat/bin/startup.sh && tail -F /usr/local/data/GGBond_tomcat/logs/catalina.out
#暴漏端口
expose 8080
docker pull centos:7 拉取 CentOS 7 的官方镜像并将其下载到你的本地 Docker 环境中。
docker build -f Dockerfile -t ggbondtomcat:1.0.0 .
如果构建过程中没有遇到错误,你将能够在本地 Docker 仓库中看到名为 ggbondtomcat:1.0.0
的新镜像。你可以使用 docker images
命令来列出本地仓库中的所有镜像,并验证新镜像是否已正确构建。
-f Dockerfile
:指定 Dockerfile 的名称。在这个例子中,它直接使用了默认名称Dockerfile
,但如果你有一个不同名称的 Dockerfile,你可以在这里指定它。-t ggbondtomcat:1.0.0
:为构建的镜像设置标签(tag)。在这个例子中,镜像的仓库名是ggbondtomcat
,标签是1.0.0
。标签通常用于版本控制,允许你存储同一个仓库的多个版本。.
:指定构建上下文(build context)的路径。在这个例子中,.
表示当前目录,Docker 会将当前目录及其子目录中的所有内容发送给 Docker 守护进程,以便在构建过程中使用。但是,Docker 守护进程实际上只会访问 Dockerfile 中指定的文件或目录。-
构建过程通常包括以下几个步骤:
- Docker 守护进程读取 Dockerfile 文件中的指令。
- 根据 Dockerfile 中的指令,Docker 守护进程执行一系列操作来构建镜像。这些操作可能包括从其他镜像中拉取层、安装软件包、复制文件等。
- Docker 守护进程将每个操作的结果组合成一个新的镜像层,并将这些层堆叠起来以形成完整的镜像。
- 构建完成后,Docker 守护进程将新构建的镜像保存到本地仓库,并可以使用你指定的标签来引用它。
docker run --name ggbondtomcat911 -d -p 19090:8080 ggbondtomcat:1.0.0
使用 docker run
命令来启动基于该镜像的容器
浏览器里 ip 是装docker的ip
http://192.168.58.71:19090/
----------------------------------------------------------------------------------------------------------------------
如果 vim Dockerfile 里面配置错误
docker ps -a
docker rm ggbondtomcat911 删除容器
docker images
docker rmi centos:7 删镜像
docker pull centos:7 重新拉到本地用,直接用的话行
docker build -f Dockerfile -t ggbondtomcat:1.0.0 .
docker run --name ggbondtomcat911 -d -p 19090:8080 ggbondtomcat:1.0.0
这篇关于自制镜像(贫穷版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!