网站开发ppt模板,做视频网站视频放在哪里找,asp无刷新网站模板,做网站美工Docker 提供了一种更便捷的方式#xff0c;叫作 Dockerfile docker build命令用于根据给定的Dockerfile构建Docker镜像。 docker build命令参数#xff1a; --build-arg#xff0c;设置构建时的变量 --no-cache#xff0c;默认false。设置该选项#xff0c;将不使用Build …Docker 提供了一种更便捷的方式叫作 Dockerfile docker build命令用于根据给定的Dockerfile构建Docker镜像。 docker build命令参数 --build-arg设置构建时的变量 --no-cache默认false。设置该选项将不使用Build Cache构建镜像 --pull默认false。设置该选项总是尝试pull镜像的最新版本 --compress默认false。设置该选项将使用gzip压缩构建的上下文 --disable-content-trust默认true。设置该选项将对镜像进行验证 --file, -fDockerfile的完整路径默认值为‘PATH/Dockerfile’ --isolation默认--isolationdefault即Linux命名空间其他还有process或hyperv --label为生成的镜像设置metadata --squash默认false。设置该选项将新构建出的多个层压缩为一个新层但是将无法在多个镜像之间共享新层设置该选项实际上是创建了新image同时保留原有image。 --tag, -t镜像的名字及tag通常name:tag或者name格式可以在一次构建中为一个镜像设置多个tag --network默认default。设置该选项Set the networking mode for the RUN instructions during build --quiet, -q 默认false。设置该选项Suppress the build output and print image ID on success --force-rm默认false。设置该选项总是删除掉中间环节的容器 --rm默认--rmtrue即整个构建过程成功后删除中间环节的容器 示例一个简单的源码安装的nginx的镜像创建过程带大家了解Dockerfile
1、环境准备
使用软件 VS code
在VS code的商城里 下载docker插件
连接到我们的虚拟机 47.99.103.75 2、要使用Dockerfile创建镜像首先需要创建一个独立的镜像目录
mkdir nginx_docker (目录名可根据镜像自定义方便识别) 3、进入目录创建文件dockerfile
cd nginx_dockertouch dockerfile
注 这里的文件名必须是dockerfile才能被创建时的docker build识别到 dockerfile模块介绍
我们首先介绍一下dockerfile编写当中常用的几个模块以及他们的用途
FROM 首行依赖的基础镜像也叫父镜像LABEL 次行可以定制像作者名创建时间邮 箱用途等比行非必须RUN shell命令COPY 拷贝本地文件至镜像ADD 可以将本地文件拷贝至镜像也可以直接添加网络源至镜像还可以添加压缩包至镜像并且在添加的时候就完成解压的动作WORKDIR 相当于shell的cd用来切换所在位置VOLUME 数据映射目录定义映射到宿主机的哪个位置ENV 设置环境变量环境变量具有继承性EXPOSE 指定端口CMD 模块内的内容会被启动docker后面添加的参数所覆盖ENTRYPOINT 模块内的内容会追加启动docker后面添加的参数
这里需要注意一下其中 ADD模块和COPY模块的区别 与CMD模块和ENTRYPOINT模块的区别
这里我整理了一下大家可以作为参考
COPY和ADD模块的区别 COPY 拷贝本地文件至镜像 ADD 将本地文件拷贝至镜像 可以直接添加网络源至镜像 可以添加压缩包至镜像并且在添加的时候就完成解压的动作 CMD模块和ENTRYPOINT模块的区别 CMD 模块里面的内容会被启动docker镜像时后面添加的参数所覆盖 ENTRYPOINT 模块里面的内容后面会追加启动docker镜像时后面添加的参数 并且CMD可以作为ENTRYPOINT的参数 4、编写dockerfile
OK现在我们开始编写nginx的镜像内容
#父镜像为centos7
FROM centos:7
#定义作者创建时间
LABEL namezaotounan date2024-03.07-21:00
#安装编译 Nginx 依赖包
RUN yum -y install gcc gcc-c make zlib-devel pcre pcre-devel openssl-devel perl-devel perl-ExtUtils-Embed gd-devel
这里我们在本地终端操作
在nginx找到对应版本这里我们使用的是nginx1.25.4
下载源码包到当前面目录 继续编写nginx的镜像内容
#父镜像为centos7
FROM centos:7
#定义作者创建时间
LABEL namezaotounan date2024-03.07-21:00
#安装编译 Nginx 依赖包
RUN yum -y install gcc gcc-c make zlib-devel pcre pcre-devel openssl-devel perl-devel perl-ExtUtils-Embed gd-devel
#将源码包传入镜像/usr/local目录下同时解压
ADD ./nginx-1.25.4.ta.gz /usr/local
本地在当前目录创建脚本
vim nginx.sh
#!/bin/bash
#创建 Nginx 运行用户
useradd -s /sbin/nologin -M nginx
#Nginx 编译安装
cd /usr/local/nginx-1.25.4/
./configure \
--usernginx \
--groupnginx \
--prefix/usr/local/nginx \
--conf-path/etc/nginx/nginx.conf \
--sbin-path/usr/sbin/nginx \
--error-log-path/var/log/nginx/nginx_error.log \
--http-log-path/var/log/nginx/nginx_access.log \
--pid-path/usr/local/nginx/run/nginx.pid
make make install#启动Nginx
/usr/sbin/nginx
tail -f /var/log/nginx/*
继续编写nginx的镜像内容
#父镜像为centos7
FROM centos:7
#定义作者创建时间
LABEL namezaotounan date2024-03.07-21:00
#安装编译 Nginx 依赖包
RUN yum -y install gcc gcc-c make zlib-devel pcre pcre-devel openssl-devel perl-devel perl-ExtUtils-Embed gd-devel
#将源码包传入镜像/usr/local目录下同时解压
ADD ./nginx-1.25.4.ta.gz /usr/local
#将创建好的脚本传入镜像/目录
COPY ./nginx.sh /
#执行脚本
CMD [sh,nginx.sh]
5、构建
docker build -t nginx:V1.15.4.1 . 6、查看镜像
docker images 7、启动镜像测试 页面访问 希望能够帮助到大家