帮人做logo网站,广告设计与制作是干什么的,seo优化网站技术排名百度推广,php给一个网站做后台Dockerfile 是一个文本文件#xff0c;里面包含组装新镜像时用到的基础镜像和各种指令#xff0c;使用dockerfile 文件来定义镜像#xff0c;然后运行镜像#xff0c;启动容器。
dockerfile文件的组成部分
一个dockerfile文件包含以下部分#xff1a;
基础镜像信息里面包含组装新镜像时用到的基础镜像和各种指令使用dockerfile 文件来定义镜像然后运行镜像启动容器。
dockerfile文件的组成部分
一个dockerfile文件包含以下部分
基础镜像信息 使用FROM关键字指定基础镜像信息FROM是dockerfile文件的第一条指令。维护者信息 使用MAINTAINER关键字指定通常可以使用dockerfile文件创建者的名字或者邮件作为维护者的信息。镜像操作指令 没执行一条镜像操作指令都会在镜像中添加新的一层。容器启动执行命令 用户指定在启动容器时需要执行的命令通过CMD ENTRYPOINT指定
常见的镜像操作指令
–指令––描述–FROM# 基础镜像一切从这里开始构建MAINTAINER镜像是谁写的姓名邮箱RUN镜像构建的时候需要运行的命令ADD添加内容 比如加一个tomcat压缩包WORKDIR镜像的工作目录VOLUME镜像挂载的目录EXPOSE保留暴露的端口CMD指定这个容器启动的时候要运行的命令只有最后一个会生效可以被代替ENTRYPOINT指定这个容器启动的时候需要运行的命令可以追加命令ONBUILD当构建一个被继承DockerFile 的时候就会运行 ONBUILD 的指令。触发指令COPY类似ADD 将我们的文件拷贝到镜像中ENV构建的时候设置环境变量
dockerfile的执行 docker build 命令
docker build 命令
docker build 命令用于使用 Dockerfile 创建镜像
docker build [OPTIONS] PATH | URL | --c控制 CPU 使用 -f指定 Dockerfile 名称 -m设置构建内存上限 -q不显示构建过程的信息 -t为构建的镜像打上标签
示例
构建一个镜像命名为 hello指定上下文目录为当前目录
docker build -t hello .构建一个镜像命名为 hello同时指定上下文目录为 test
docker build -t hello ./test/构建一个镜像命名为 hello标签为 new同时指定上下文目录为当前目录文件为 test 目录内的 newfile且不显示构建过程
docker build -q -f test/newfile -t hello:new .–参数––解释–-build-arg[] –设置镜像创建时的变量–cpu-shares设置 cpu 使用权重–cpu-period限制 CPU CFS周期–cpu-quota限制 CPU CFS配额–cpuset-cpus指定使用的CPU id–cpuset-mems指定使用的内存 id–disable-content-trust忽略校验默认开启-f指定要使用的Dockerfile路径–force-rm设置镜像过程中删除中间容器–isolation使用容器隔离技术–label[]设置镜像使用的元数据-m设置内存最大值–memory-swap设置Swap的最大值为内存swap-1表示不限swap–no-cache创建镜像的过程不使用缓存–pull尝试去更新镜像的新版本–quiet, -q安静模式成功后只输出镜像 ID–rm设置镜像成功后删除中间容器–shm-size设置/dev/shm的大小默认值是64M–ulimitUlimit配置。–squash将 Dockerfile 中所有的操作压缩为一层。–tag, -t:镜像的名字及标签通常 name:tag 或者 name 格式可以在一次构建中为一个镜像设置多个标签。–network:默认 default。在构建期间设置RUN指令的网络模式
使用dockerfile构建镜像实战
使用dockerfile 构建前端vue项目 Dockerfile 文件内容
from node:16.20.1
MAINTAINER DETALCAIJ
WORKDIR /usr/app
COPY ./ /usr/app
RUN git clone https://gitee.com/vdpadmin/variant-form.git
RUN npm install --registryhttps://registry.npm.taobao.org
EXPOSE 8080
CMD [npm,run,server]通过Dockerfile 构建contos系统本地镜像
Dockerfile文件
FROM centos:7.9.2009
# 指定基础镜像为 centos
MAINTAINER mufenggrow mufenggrow163.com
ENV MYPATH /usr/local
WORKDIR $MYPATHRUN yum -y install vim
RUN yum -y install net-toolsEXPOSE 80CMD echo $MYPATH
CMD echo -----end-----
CMD /bin/bash构建并测试 通过命令构建镜像 最后有个 .语法如下 docker build -f dockerfile 文件名 -t 镜像名:[tag] .通过Dockerfile构建镜像文件
docker build -t mufeng_centos查看构建好的镜像 rootff-xas:/opt# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mufeng_centos latest 924e651184db About a minute ago 667MB
node 16.20.1 a21a68db6806 3 weeks ago 909MB
tomcat latest 7ba61facbe26 3 weeks ago 425MB
openresty/openresty 1.13.6.2-alpine ef57f6ca4202 4 years ago 49.1MB