网站嵌入js,全国购物网站排名,文创产品设计作品,上海品牌网站建设公司排名构建镜像教程
步骤 1#xff1a;安装 Docker
#在安装 Docker 之前#xff0c;建议先更新系统软件包。 sudo yum update -y
# 移除旧的Docker版本和Podman、runc软件包及其相关依赖。 yum remove -y docker docker-client docker-client-latest docker-ce-cli docker-commo…构建镜像教程
步骤 1安装 Docker
#在安装 Docker 之前建议先更新系统软件包。 sudo yum update -y
# 移除旧的Docker版本和Podman、runc软件包及其相关依赖。 yum remove -y docker docker-client docker-client-latest docker-ce-cli docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine podman runc
#清理旧缓存并重新生成 yum clean all yum makecache
# 安装必要的依赖包 yum install -y yum-utils device-mapper-persistent-data lvm2
# 添加Docker仓库 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 指定版本安装Docker yum install -y docker-ce-20.10.24 docker-ce-cli-20.10.24 containerd.io
# 启动并设置Docker开机自启 sudo systemctl start docker sudo systemctl enable docker
#使用以下命令验证 Docker 是否安装成功 docker --version
# 安装 wget工具 yum install -y wget
# 关闭并禁用防火墙 systemctl stop firewalld systemctl disable firewalld
# 禁用SELinux 策略 setenforce 0 sed -i s/SELINUXenforcing/SELINUXdisabled/g /etc/selinux/config
#查看Docker服务的状态 sudo systemctl status docker
#添加镜像加速器 # 创建目录 mkdir -p /etc/docker # 复制内容 tee /etc/docker/daemon.json -EOF { registry-mirrors: [ http://hub-mirror.c.163.com, https://mirrors.tuna.tsinghua.edu.cn, http://mirrors.sohu.com, https://ustc-edu-cn.mirror.aliyuncs.com, https://2yzmpomi.mirror.aliyuncs.com, https://ccr.ccs.tencentyun.com, https://docker.m.daocloud.io, https://docker.awsl9527.cn, https://do.nark.eu.org, https://dc.j8.work, https://dockerproxy.com, https://docker.mirrors.ustc.edu.cn, https://docker.nju.edu.cn, https://docker.1panel.live/, https://noohub.ru, https://huecker.io, https://dockerhub.timeweb.cloud, http://hub.urlsa.us.kg, http://hub.haod.eu.org, http://hub.chxza.eu.org, http://ccoc.eu.org ] } { dns: [8.8.8.8, 8.8.4.4] } EOF # 重新加载配置 systemctl daemon-reload # 重启Docker systemctl restart docker
#通过运行hello-world 映像来验证是否正确安装了Docker Engine 。 sudo docker run hello-world
#显示 Docker 系统信息 docker info
步骤 2编写 Dockerfile
#Dockerfile 是 Docker 镜像构建的核心文件它包含了如何创建镜像的所有指令一定要注意该文件名必须是Dockerfile且无后缀。 #示例 Dockerfile创建一个新的目录并进入 mkdir mydockerapp cd mydockerapp
#在该目录下创建 Dockerfile 文件 vim Dockerfile
#然后你可以编辑 Dockerfile 内容。例如下面的 Dockerfile 安装了一个简单的 Apache HTTP 服务器
# 使用官方的 CentOS 镜像作为基础镜像
FROM centos:8# 更新软件包并安装 Apache HTTP 服务器
RUN yum -y update yum install -y httpd# 将当前目录下的代码复制到容器的 /var/www/html 目录
COPY ./index.html /var/www/html/# 设置容器启动时运行 Apache 服务
CMD [httpd, -D, FOREGROUND]# 暴露容器的 80 端口
EXPOSE 80
#这个 Dockerfile 会 #使用 CentOS 8 镜像作为基础镜像 #安装 Apache HTTP 服务器 #将当前目录下的 index.html 文件复制到容器中 #设置容器启动时运行 Apache HTTP 服务器 #暴露容器的 80 端口
步骤 3构建 Docker 镜像
#在包含 Dockerfile 文件的目录下使用以下命令构建 Docker 镜像 docker build -t myapacheimage .
# -t myapacheimage 选项为你的镜像指定标签即镜像的名字。 # . 表示 Dockerfile 文件所在的当前目录。 #构建过程中Docker 会逐步执行 Dockerfile 中的指令并构建镜像。完成后你可以使用以下命令查看镜像列表 docker images #你应该能够看到名为 myapacheimage 的新镜像。
步骤 4运行 Docker 容器
#构建完成镜像后你可以使用以下命令启动一个容器 docker run -d -p 8080:80 myapacheimage
#-d 表示在后台运行容器。 #-p 8080:80 将主机的 8080 端口映射到容器的 80 端口。 #此时你可以通过访问 http://localhost:8080 来查看 Apache 服务器是否成功启动并显示 index.html 页面。
步骤 5管理 Docker 容器
#使用以下命令查看所有正在运行的容器 docker ps
#要停止容器可以使用以下命令 docker stop container_id #你可以通过 docker ps 命令获取容器的 ID。
#停止容器后可以删除容器 docker rm container_id #如果你不再需要镜像可以使用以下命令删除它 docker rmi image_id
步骤 6总结
在龙蜥操作系统 8.9 上构建 Docker 镜像的步骤主要包括
1、安装 Docker。 2、编写 Dockerfile。 3、使用 docker build 命令构建镜像。 4、使用 docker run 命令运行容器。 5、使用 docker ps 和 docker stop 等命令管理容器。
Dockerfile 常见指令的总结表格
指令描述示例FROM指定基础镜像FROM centos:8LABEL为镜像添加元数据LABEL maintainerexampleexample.comRUN执行命令并在镜像中创建层RUN yum update -y yum install -y httpdCOPY将文件或目录从构建上下文复制到容器内COPY ./myapp /usr/src/appADD类似 COPY但支持解压 tar 文件和从 URL 下载文件ADD myapp.tar.gz /usr/src/appWORKDIR设置工作目录WORKDIR /usr/src/appCMD设置容器启动时默认执行的命令或程序CMD [httpd, -D, FOREGROUND]ENTRYPOINT设置容器启动时执行的命令常与 CMD 配合使用ENTRYPOINT [python, app.py]EXPOSE声明容器将要监听的端口仅用于文档化不会自动暴露端口EXPOSE 8080VOLUME创建挂载点以便共享或持久化数据VOLUME [/data]ENV设置环境变量ENV APP_ENVproductionARG定义构建时可用的变量ARG VERSION1.0USER设置容器内的用户USER appuserSHELL更改 RUN 指令所用的 shellSHELL [/bin/bash, -c]STOPSIGNAL设置容器停止时使用的信号STOPSIGNAL SIGTERM
搭建私人镜像仓库
步骤 1准备环境
确保已安装 Docker如果尚未安装 Docker请参考之前的教程安装 Docker。 确保你的服务器有公网 IP 或者是一个内网 IP 可访问的服务器 需要有一台能够访问的服务器来托管镜像仓库。如果是在公司内网搭建私有镜像仓库确保相关的内网机器能够访问该仓库。
步骤 2拉取并启动 Docker Registry 镜像
Docker 官方提供了一个 registry 镜像帮助你快速搭建私有镜像仓库。我们可以通过以下命令拉取并启动它。 拉取官方 Registry 镜像 docker pull registry:2
运行 Docker Registry 容器 启动一个 Docker 容器来运行镜像仓库通常会使用端口 5000 来暴露仓库服务 docker run -d -p 5000:5000 --name registry registry:2
这条命令会 在后台启动一个 Docker 容器-d。 将容器的 5000 端口映射到主机的 5000 端口这样你就可以通过 http://your_server_ip:5000 来访问仓库。 使用 registry:2 镜像启动私有仓库。 验证仓库是否启动成功
你可以通过以下命令查看容器的状态 docker ps 如果仓库容器运行正常你应该看到类似如下输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES a1b2c3d4e5f6 registry:2 /bin/registry serve … 5 seconds ago Up 4 seconds 0.0.0.0:5000-5000/tcp registry
步骤 3配置客户端访问仓库
默认情况下Docker 不允许使用 HTTP 访问私有仓库因此我们需要配置 Docker 客户端以允许 HTTP 协议的访问。 编辑 Docker 配置文件 编辑 /etc/docker/daemon.json 配置文件允许 Docker 客户端访问私有仓库。文件内容如下 { insecure-registries: [your_server_ip:5000] } 其中your_server_ip 是你搭建私有仓库的服务器 IP 地址。
重启 Docker 服务 修改完成后重启 Docker 服务使配置生效 sudo systemctl restart docker
步骤 4将镜像推送到私人仓库
构建 Docker 镜像 例如构建一个简单的镜像
docker build -t your_server_ip:5000/myimage . 这里的 your_server_ip 是你搭建仓库的服务器 IP 地址myimage 是你自定义的镜像名称。
登录到私有仓库 你可能需要登录到私有仓库。使用以下命令进行登录
docker login your_server_ip:5000
默认情况下这个仓库不需要认证。如果你需要启用认证可以参考 Docker 官方文档来配置用户名和密码。 推送镜像到私有仓库 使用以下命令将镜像推送到私有仓库
docker push your_server_ip:5000/myimage 如果一切正常Docker 会将镜像上传到你的私有仓库。
步骤 5从私人仓库拉取镜像
从私有仓库拉取镜像 当你需要从私人仓库拉取镜像时只需使用 docker pull 命令
docker pull your_server_ip:5000/myimage 这样你就能从你自己搭建的 Docker 私有仓库中拉取镜像。
步骤 6配置 TLS (可选)
如果你希望通过 HTTPS 而不是 HTTP 来访问你的私有仓库这里提供一个简单的配置方法。 生成 SSL 证书 如果你没有现成的 SSL 证书可以通过以下命令生成自签名证书只用于测试
mkdir -p /certs openssl req -newkey rsa:4096 -nodes -keyout /certs/domain.key -x509 -out /certs/domain.crt
更新 Registry 配置 停止当前的 Registry 容器
docker stop registry 启动一个新的 Registry 容器挂载 SSL 证书
docker run -d -p 5000:5000 --name registry \ -v /certs/domain.crt:/certs/domain.crt \ -v /certs/domain.key:/certs/domain.key \ -e REGISTRY_HTTP_SECRETsecret \ -e REGISTRY_HTTP_HEADERS_X_FORWARDED_PROTOhttps \ registry:2
配置 Docker 客户端 确保你已经配置 Docker 客户端以支持 HTTPS和证书并按照之前的步骤更新了 /etc/docker/daemon.json 文件。
步骤 7清理和管理镜像
查看私有仓库中的镜像 你可以查看仓库中的所有镜像。使用以下命令列出仓库中所有镜像
curl http://your_server_ip:5000/v2/_catalog
删除镜像 如果你需要删除某个镜像可以通过以下命令 docker rmi your_server_ip:5000/myimage 你可能还需要在仓库中手动删除镜像数据以释放存储空间。
总结
搭建 Docker 私有镜像仓库的步骤主要包括 使用官方 registry 镜像启动私有仓库。 配置 Docker 客户端以访问私有仓库。 构建镜像并推送到私有仓库。 从私有仓库拉取镜像。 如果需要还可以进一步配置 HTTPS 和认证。这样你就可以在自己的服务器上管理 Docker 镜像享受私有化的镜像仓库服务了。 文章转载自: http://www.morning.zymgs.cn.gov.cn.zymgs.cn http://www.morning.tzpqc.cn.gov.cn.tzpqc.cn http://www.morning.wjhqd.cn.gov.cn.wjhqd.cn http://www.morning.snccl.cn.gov.cn.snccl.cn http://www.morning.pakistantractors.com.gov.cn.pakistantractors.com http://www.morning.jsphr.cn.gov.cn.jsphr.cn http://www.morning.jfnlj.cn.gov.cn.jfnlj.cn http://www.morning.bwjgb.cn.gov.cn.bwjgb.cn http://www.morning.qgfy.cn.gov.cn.qgfy.cn http://www.morning.ksjnl.cn.gov.cn.ksjnl.cn http://www.morning.yfddl.cn.gov.cn.yfddl.cn http://www.morning.lnmby.cn.gov.cn.lnmby.cn http://www.morning.thbqp.cn.gov.cn.thbqp.cn http://www.morning.smmrm.cn.gov.cn.smmrm.cn http://www.morning.btypn.cn.gov.cn.btypn.cn http://www.morning.xqzrg.cn.gov.cn.xqzrg.cn http://www.morning.rcwzf.cn.gov.cn.rcwzf.cn http://www.morning.bkcnq.cn.gov.cn.bkcnq.cn http://www.morning.rcqyk.cn.gov.cn.rcqyk.cn http://www.morning.gwgjl.cn.gov.cn.gwgjl.cn http://www.morning.zfqdt.cn.gov.cn.zfqdt.cn http://www.morning.khclr.cn.gov.cn.khclr.cn http://www.morning.mqdr.cn.gov.cn.mqdr.cn http://www.morning.kydrb.cn.gov.cn.kydrb.cn http://www.morning.bchfp.cn.gov.cn.bchfp.cn http://www.morning.mzcrs.cn.gov.cn.mzcrs.cn http://www.morning.zpfqh.cn.gov.cn.zpfqh.cn http://www.morning.czgfn.cn.gov.cn.czgfn.cn http://www.morning.tbplf.cn.gov.cn.tbplf.cn http://www.morning.hryhq.cn.gov.cn.hryhq.cn http://www.morning.kngqd.cn.gov.cn.kngqd.cn http://www.morning.htrzp.cn.gov.cn.htrzp.cn http://www.morning.rwrn.cn.gov.cn.rwrn.cn http://www.morning.ymwcs.cn.gov.cn.ymwcs.cn http://www.morning.trzzm.cn.gov.cn.trzzm.cn http://www.morning.wdply.cn.gov.cn.wdply.cn http://www.morning.kdjtt.cn.gov.cn.kdjtt.cn http://www.morning.pqhfx.cn.gov.cn.pqhfx.cn http://www.morning.ghqyr.cn.gov.cn.ghqyr.cn http://www.morning.rgtp.cn.gov.cn.rgtp.cn http://www.morning.cywf.cn.gov.cn.cywf.cn http://www.morning.smzr.cn.gov.cn.smzr.cn http://www.morning.ssjtr.cn.gov.cn.ssjtr.cn http://www.morning.dwrjj.cn.gov.cn.dwrjj.cn http://www.morning.dkqbc.cn.gov.cn.dkqbc.cn http://www.morning.qblcm.cn.gov.cn.qblcm.cn http://www.morning.fbmjw.cn.gov.cn.fbmjw.cn http://www.morning.ktrh.cn.gov.cn.ktrh.cn http://www.morning.jtwck.cn.gov.cn.jtwck.cn http://www.morning.tgyzk.cn.gov.cn.tgyzk.cn http://www.morning.syznh.cn.gov.cn.syznh.cn http://www.morning.gnlyq.cn.gov.cn.gnlyq.cn http://www.morning.krlsz.cn.gov.cn.krlsz.cn http://www.morning.snxbf.cn.gov.cn.snxbf.cn http://www.morning.hxftm.cn.gov.cn.hxftm.cn http://www.morning.csznh.cn.gov.cn.csznh.cn http://www.morning.c7493.cn.gov.cn.c7493.cn http://www.morning.dmldp.cn.gov.cn.dmldp.cn http://www.morning.gynlc.cn.gov.cn.gynlc.cn http://www.morning.mysmz.cn.gov.cn.mysmz.cn http://www.morning.wsnbg.cn.gov.cn.wsnbg.cn http://www.morning.wxgd.cn.gov.cn.wxgd.cn http://www.morning.ctlzf.cn.gov.cn.ctlzf.cn http://www.morning.lsbjj.cn.gov.cn.lsbjj.cn http://www.morning.wjjsg.cn.gov.cn.wjjsg.cn http://www.morning.zwckz.cn.gov.cn.zwckz.cn http://www.morning.hmlpn.cn.gov.cn.hmlpn.cn http://www.morning.hmmnb.cn.gov.cn.hmmnb.cn http://www.morning.cwjxg.cn.gov.cn.cwjxg.cn http://www.morning.jxjrm.cn.gov.cn.jxjrm.cn http://www.morning.bpmfg.cn.gov.cn.bpmfg.cn http://www.morning.zbpqq.cn.gov.cn.zbpqq.cn http://www.morning.bmmyx.cn.gov.cn.bmmyx.cn http://www.morning.rcjwl.cn.gov.cn.rcjwl.cn http://www.morning.qllcp.cn.gov.cn.qllcp.cn http://www.morning.rddlz.cn.gov.cn.rddlz.cn http://www.morning.tdgwg.cn.gov.cn.tdgwg.cn http://www.morning.kztpn.cn.gov.cn.kztpn.cn http://www.morning.psyrz.cn.gov.cn.psyrz.cn http://www.morning.sqhtg.cn.gov.cn.sqhtg.cn