Dockerfile构建镜像

今天分享一下dockerfile的构建

docker仓库

https://hub.docker.com/

官方文档
https://docs.docker.com/engine/reference/builder/

什么意思勒,大致意思就是说,本地创建一个自己的镜像文件,然后把他启动起来,然后看效果,可以预览一下效果图

Dockerfile构建镜像_第1张图片

实现步骤:

Dockerfile构建镜像_第2张图片

再linux文件夹创建Dockerfile文件,名字一定要Dockerfile里面的内容就写入以下内容

# FROM 用于指定基础镜像 我们这里用nginx,利用nginx的index.html页面,然后把里面的内容替换掉
FROM nginx
# RUN用于构建镜像阶段执行命令 后面/usr/share/nginx/html/index.html  是nginx容器里面的index的全路径
RUN echo '

Hello Japhet , I am DockerFile

' > /usr/share/nginx/html/index.html

注意这里后面有.  代表当前目录

docker build -t nginx:japhetDockerfile .

Dockerfile构建镜像_第3张图片

这里可以docker images 查看以下刚刚构建的是否存在,如果存在则构建成功,如果不存在,则构建失败,查看以下具体原因,然后我们再启动这个镜像文件即可

 运行镜像文件

docker run -d -p 81:80 nginx:japhetDockerfile

Dockerfile构建镜像_第4张图片

好啦,全部处理完成了,然后我们去浏览器访问81端口试试呗 ,如果访问不了,可以关闭以下防火墙 systemctl stop firewalld

Dockerfile构建镜像_第5张图片

下一个案例场景 (把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"]

Dockerfile构建镜像_第6张图片

然后再构建 

docker build -t aaa:projectDockerfire .

 Dockerfile构建镜像_第7张图片

然后我们docker images查看镜像就可以看到我们刚刚添加的这个文件了

Dockerfile构建镜像_第8张图片

然后再运行我们这个Dockerfile 

docker run -d -p 8999:8998 aaa:projectDockerfire

Dockerfile构建镜像_第9张图片

ok拉,这两个案例搞成功了,大家快去试一试吧,

你可能感兴趣的:(linux,linux,docker,Dockerfile,运维)