前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >统信服务器操作系统V20 1070e [Docker 可信镜像中心 AtomHub]

统信服务器操作系统V20 1070e [Docker 可信镜像中心 AtomHub]

作者头像
Kevin song
发布2024-07-04 11:22:07
4950
发布2024-07-04 11:22:07
举报
文章被收录于专栏:运维监控日志分析

AtomHub

AtomHub由开放原子开源基金会牵头,联合多家行业伙伴发起,遵循OCI(Open Container Initiative,以下简称“OCI”)容器镜像标准,旨在为开发者提供开放中立、安全可信、高效便捷的新一代开源容器镜像中心。

由于 Docker Hub 等镜像仓库的不稳定性和不可控性,以及一些政策和法规的限制,开发者们使用这些镜像仓库时也面临着种种问题和困难。

  • 网络不稳定:包括 Docker Hub 在内的多数容器镜像托管平台,服务器都位于海外,国内用户在访问时经常会遇到网络延迟和丢包的问题,导致镜像的上传和拉取频繁超时或请求失败。
  • 镜像拉取被限流:以 Docker Hub 为例,匿名用户 6 小时内只能拉取镜像 100 次,而注册登录的免费用户每 6 小时也只能拉取镜像 200 次,严重影响了镜像构建和应用部署的效率。
  • 缺失中立平台:国内用户缺失中立的镜像分享平台,构建镜像上传到 Docker Hub 再从国内下载受限制,影响容器镜像在中国的分享和传播。

鉴于上述原因,打造一个中立、开放共建的可信开源容器镜像中心,成为了当前亟待解决的问题。AtomHub 项目 —— 开源容器镜像中心由此发起,旨在为开发者提供来源真实、生态开放、平台中立、安全可信的新一代开源容器镜像中心。

AtomHub 将基于国产操作系统和软件打造自主可信根镜像、可信全链路构建系统,支持安全漏洞扫描和内容合规检测,及时发现和修复镜像漏洞和安全风险,确保镜像层层安全可信,重建可持续容器镜像供应链。

AtomHub 计划采用高性能镜像存储后端、多云 CDN 同步、冷热数据自动转储分流等关键技术,打造百万级并发规模容器镜像分发平台,为用户提供稳定可靠的镜像下载服务。

AtomHub 五大战略规划:

  • 安全性:AtomHub 将提供一套完善的安全机制,包括镜像签名、漏洞扫描和内容合规检测等功能,确保镜像安全可靠。
  • 高性能:AtomHub 将采用高性能存储引擎和多云 CDN 加速,为您提供高速的镜像拉取和推送体验。
  • 易用性:AtomHub 将会提供用户友好的 Web 界面,支持关键词搜索、分类浏览和镜像智能推荐,方便用户快速找到和下载所需镜像。
  • 兼容性:AtomHub 采用 OCI 标准,兼容 Docker Hub 生态,可以无缝对接您现有的容器编排和持续集成 / 持续部署(CI / CD)工具。
  • 开放性:AtomHub 将完全开源,打造一个开放、中立、透明的容器镜像共享平台,允许所有爱好者共同参与项目的开发、维护和使用。

编辑Docker配置文件

打开或创建 /etc/docker/daemon.json 文件

代码语言:javascript
复制
{
"registry-mirrors": [
"https://atomhub.openatom.cn"
]
}

重启docker服务

代码语言:javascript
复制
systemctl daemon-reload
systemctl restart docker

查看镜像仓库

代码语言:javascript
复制
docker info |grep -C 2 "Registry Mirrors"

AtomHub: https://atomhub.openatom.cn/

AtomHub nginx 镜像部署

1,下载镜像

代码语言:javascript
复制
docker pull atomhub.openatom.cn/amd64/nginx:1.25.2-perl

查看镜像

代码语言:javascript
复制
docker images

2,临时运行容器复制配置文件

docker run -itd --name nginx-server -p 80:80 -p 443:443 -v --privileged=true --restart=always atomhub.openatom.cn/amd64/nginx:1.25.2-perl

复制配置文件

创建映射存储目录

代码语言:javascript
复制
mkdir -p /docker/nginx

复制配置文件

代码语言:javascript
复制
docker cp nginx-server:/etc/nginx/ /docker/nginx/nginx
docker cp nginx-server:/usr/share/nginx/html/  /docker/nginx/html
docker cp nginx-server:/var/log/nginx/  /docker/nginx/logs

删除启动的容器

代码语言:javascript
复制
docker rm -f nginx-server

3,运行nginx-server容器映射存储目录

docker run -itd --name nginx-server -p 80:80 -p 443:443 -v /docker/nginx/nginx:/etc/nginx -v /docker/nginx/logs:/var/log/nginx -v /docker/nginx/html:/usr/share/nginx/html --privileged=true --restart=always -e TZ=Asia/Shanghai atomhub.openatom.cn/amd64/nginx:1.25.2-perl

docker run 参数介绍

docker run [OPTIONS] 镜像名:标签名

-it 交互式运行容器启动后进入命令行,即分配一个虚拟终端。

-d 创建一个守护式容器在后台运行,并返回容器ID;

--name 为创建的容器指定一个名称 。

-p 端口映射,格式为:-p 宿主机端口:容器端口

--privileged=true 映射多级目录,防止出现没有权限

--restart=always 容器随docker服务启动

-v 表示目录映射, 格式为:-v 宿主机目录:容器目录

将配置文件挂载到容器中的配置文件

-v /docker/nginx/nginx:/etc/nginx

将数据文件夹挂载到容器中存放数据的文件夹

-v /docker/nginx/html:/usr/share/nginx/html

挂载日志

-v /docker/nginx/logs:/var/log/nginx

设置时区

-e TZ=Asia/Shanghai

限制内存大小

--memory=4G或4096M

限制CPU

--cpus=2

4,nginx-server 容器访问

访问容器

代码语言:javascript
复制
docker exec -it --user root   nginx-server /bin/bash

宿主机对容器执行命令

代码语言:javascript
复制
docker exec nginx-server  /bin/bash -c 'nginx -V'

查看nginx版本

代码语言:javascript
复制
docker exec  nginx-server  nginx -V

查看nginx日志

代码语言:javascript
复制
docker logs -f --tail=10  nginx-server

nginx web 测试

代码语言:javascript
复制
echo "uos docker atomhub" > /docker/nginx/html/index.html

curl 访问

代码语言:javascript
复制
curl 127.0.0.1
uos docker atomhub

5,Docker 常用命令

查看docker 版本信息

docker version

查看docker 信息

docker info

镜像管理

拉取镜像

docker pull 镜像名

docker pull 镜像名:tag

搜索镜像

docker search 镜像名

删除镜像

docker rmi 镜像ID/镜像名

docker rmi atomhub.openatom.cn/amd64/nginx:1.25.2-perl

查看镜像

docker images -a

容器运行信息

查看容器状态

docker ps -a

更换容器名

docker rename 容器ID/容器名 新容器名

查看docker工作目录

sudo docker info | grep "Docker Root Dir"

查看docker磁盘占用总体情况

du -hs /var/lib/docker/

查看Docker的磁盘使用具体情况

docker system df

查看容器的信息

docker inspect nginx-server

进入容器方式

docker exec -it 容器名/容器ID /bin/bash

容器启停管理

启动容器

docker start 容器ID/容器名

停止容器

docker stop 容器ID/容器名

kill 容器

docker kill 容器ID/容器名

重启容器

docker restart 容器ID/容器名

删除容器

删除一个容器

docker rm -f 容器名/容器ID

删除多个容器 空格隔开要删除的容器名或容器ID

docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID

删除全部容器

docker rm -f $(docker ps -aq)

查看容器日志

docker logs -f --tail=要查看末尾多少行 默认all 容器ID

docker logs -f --tail=10 nginx-server

保存镜像

将镜像保存为tar 压缩文件,在任何一台安装docker的服务器上加载镜像

命令:

docker save 镜像名/镜像ID -o 镜像存储路径

docker save nginx-server -o /opt/nginx-server.tar

加载镜像

加载镜像保存文件,使其恢复为一个镜像

docker load -i 镜像保存文件位置

docker load -i /opt/nginx-server.tar

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2024-06-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档