今天分享一下dockerfile的构建
docker仓库
https://hub.docker.com/
官方文档
https://docs.docker.com/engine/reference/builder/
什么意思勒,大致意思就是说,本地创建一个自己的镜像文件,然后把他启动起来,然后看效果,可以预览一下效果图
实现步骤:
再linux文件夹创建Dockerfile文件,名字一定要Dockerfile里面的内容就写入以下内容
# FROM 用于指定基础镜像 我们这里用nginx,利用nginx的index.html页面,然后把里面的内容替换掉
FROM nginx
# RUN用于构建镜像阶段执行命令 后面/usr/share/nginx/html/index.html 是nginx容器里面的index的全路径
RUN echo '<h1>Hello Japhet , I am DockerFile</h1>' > /usr/share/nginx/html/index.html
注意这里后面有. 代表当前目录
docker build -t nginx:japhetDockerfile .
这里可以docker images 查看以下刚刚构建的是否存在,如果存在则构建成功,如果不存在,则构建失败,查看以下具体原因,然后我们再启动这个镜像文件即可
运行镜像文件
docker run -d -p 81:80 nginx:japhetDockerfile
好啦,全部处理完成了,然后我们去浏览器访问81端口试试呗 ,如果访问不了,可以关闭以下防火墙 systemctl stop firewalld
下一个案例场景 (把java项目用dockerfile启动起来)
吧本地jar包上传上来 通过rz上传
创建Dockerfile文件 名字一定要Dockerfile里面的内容就写入以下内容
# 基于java8 的镜像
From java:8
# 复制文件到容器
ADD international-0.0.1-SNAPSHOT.jar /international-0.0.1-SNAPSHOT.jar
#暴露的端口
EXPOSE 8998
#配置容器启动后执行的命令
ENTRYPOINT ["java","-jar","/international-0.0.1-SNAPSHOT.jar"]
然后再构建
docker build -t aaa:projectDockerfire .
然后我们docker images查看镜像就可以看到我们刚刚添加的这个文件了
然后再运行我们这个Dockerfile
docker run -d -p 8999:8998 aaa:projectDockerfire
ok拉,这两个案例搞成功了,大家快去试一试吧,
如果小伙伴们有什么疑问,欢迎下面评论。欢迎指正。如还有什么不懂的加我 QQ:517861659
如果没有及时回复,可以点我先问问AI机器人https://chatgpt.byabstudio.com/login?code=202307011314