您的位置:首页 > 文旅 > 旅游 > 今天新闻头条新闻_简历制作专业机构_315影视行业_网站运营推广方案

今天新闻头条新闻_简历制作专业机构_315影视行业_网站运营推广方案

2025/2/25 17:36:57 来源:https://blog.csdn.net/m0_71071763/article/details/145493287  浏览:    关键词:今天新闻头条新闻_简历制作专业机构_315影视行业_网站运营推广方案
今天新闻头条新闻_简历制作专业机构_315影视行业_网站运营推广方案

构建镜像教程

步骤 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/SELINUX=enforcing/SELINUX=disabled/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:8
LABEL为镜像添加元数据LABEL maintainer="example@example.com"
RUN执行命令并在镜像中创建层RUN yum update -y && yum install -y httpd
COPY将文件或目录从构建上下文复制到容器内COPY ./myapp /usr/src/app
ADD类似 COPY,但支持解压 tar 文件和从 URL 下载文件ADD myapp.tar.gz /usr/src/app
WORKDIR设置工作目录WORKDIR /usr/src/app
CMD设置容器启动时默认执行的命令或程序CMD ["httpd", "-D", "FOREGROUND"]
ENTRYPOINT设置容器启动时执行的命令,常与 CMD 配合使用ENTRYPOINT ["python", "app.py"]
EXPOSE声明容器将要监听的端口(仅用于文档化,不会自动暴露端口)EXPOSE 8080
VOLUME创建挂载点以便共享或持久化数据VOLUME ["/data"]
ENV设置环境变量ENV APP_ENV=production
ARG定义构建时可用的变量ARG VERSION=1.0
USER设置容器内的用户USER appuser
SHELL更改 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_SECRET=<secret> \
  -e REGISTRY_HTTP_HEADERS_X_FORWARDED_PROTO=https \
  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 镜像,享受私有化的镜像仓库服务了。

 

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com