0
点赞
收藏
分享

微信扫一扫

dockerfile 用于部署镜像的

醉倾城1 2022-01-17 阅读 16

dockerfile 用于部署镜像的

1.定制docker镜像

镜像是分层存储的,每一层在前一层的基础上做了修改。
在这里插入图片描述
dockerfile指令
在这里插入图片描述
在这里插入图片描述

dockerfile实践

FROM nginx
RUN echo’<meta charset=utf8>超哥带你用docker运行nginx服务.’>
/usr/share/nginx/html/index.html

#运行该镜像
docker run -d -p 80:80  my-nginx
1.创建Dockerfile ,注意文件名,必须为Dockerfile
[root@fff learn_ docker]#pwd
/learn_docker
[root@fff learn_ docker]#cat Dockerfile
FROM nginx
RUN echo’<meta charset=utf8>超哥带你用docker运行nginx服务.’>
/usr/share/nginx/html/index.html
[root@yc_ docker0l learn_ docker]#

#2.构建Dockerfile
docker build .
#3.修改镜像名字
[root@fff learn_ docker]# docker tag [IMAGE ID] my_nginx

#3.运行该镜像
docker run -d -p 80:80  my_nginx

2.指令的使用

#cOPY
copy chaoge.py /home/
#支持多个文件,以及通配符形式复制,语法要满足Golang的filepath .Matchcopy chaoge* /tmp/cc?.txt. /home/
#ADD
ADD chaoge.tgz /home/
RUN linux命令(×xx修改命令)
#CMD在容器内运行某个命令,启动程序
#该镜像在运行容器实例的时候,执行的具体参数是什么
CMD["参数1", "参数2"]
CMD ["/bin/bash"]

#该容器运行时,执行的命令
#等同于命令行的直接操作docker run -it centoscat /etc/os-release
CMD ["cat","/etc/os-release"]

把宿主机安装,启动nginx的理念放入到dockerfile

ENTRYPOINT和CMD的玩法

#准备一个dockerfile

FROM centos:7.8.2003
RUN rpm --rebuilddb &&yum install epel-release -y
RUN rpm --rebuilddb && yum install curl -y
CMD ["curl" , "-s" , "http: / /ipinfo.io/ip"]

#上面CMD用法等同于如下
docker run my_centos curl -s http: / /ipinfo.io/ip#


dockr run my_centos
#2.构建镜像
docker build .
#3.查看结果
---> Running in be0811eb9124
Removing intermediate container b00811eb9124---> 4dc77fbce2e3
successfully built 4dc77fbc02e3

ARG和ENV

VOLUME

容器在运行时,应该保证在存储层不写入任何数据,运行在容器内产生的数据,我们推荐是挂载,写入到宿主机上,进行维护。

#fmount /mnt
VOLUME /data# 将容器内的/data文件夹,在容器运行时,该目录自动挂载为匿名卷,任何向该目录中写入数据的操作,都不会被容器记录,保证的容器存储层无状态理念
#Dockerfile1
FROM centos:7.8.2003
MAINTAINER chaoge
VOLUME [ " /data1" , " /data2"]
#该容器运行时候,这2个目录自动和宿主机的目录做好映射关系

1.容器数据挂载的方式,通过dockerfile,指定vOLUME目录
⒉.通过docker run -v参数,直接设置需要映射挂载的目录

EXPOSE

指定容器运行时对外提供的端口服务,
。帮助使用该镜像的人,快速理解该容器的一个端口业务

docker port容器
docker run -p宿主机端口:容器端口
docker run -P #作用是随机宿主机端口:容器内端口

WORKDIR

用于在dockerfile中,目录的切换,更改工作目录l

WORKDIR /opt

USER

用于改变环境,用于切换用户

USER root
USER fff
举报

相关推荐

0 条评论