AtomHub
AtomHub由开放原子开源基金会牵头,联合多家行业伙伴发起,遵循OCI(Open Container Initiative,以下简称“OCI”)容器镜像标准,旨在为开发者提供开放中立、安全可信、高效便捷的新一代开源容器镜像中心。
由于 Docker Hub 等镜像仓库的不稳定性和不可控性,以及一些政策和法规的限制,开发者们使用这些镜像仓库时也面临着种种问题和困难。
鉴于上述原因,打造一个中立、开放共建的可信开源容器镜像中心,成为了当前亟待解决的问题。AtomHub 项目 —— 开源容器镜像中心由此发起,旨在为开发者提供来源真实、生态开放、平台中立、安全可信的新一代开源容器镜像中心。
AtomHub 将基于国产操作系统和软件打造自主可信根镜像、可信全链路构建系统,支持安全漏洞扫描和内容合规检测,及时发现和修复镜像漏洞和安全风险,确保镜像层层安全可信,重建可持续容器镜像供应链。
AtomHub 计划采用高性能镜像存储后端、多云 CDN 同步、冷热数据自动转储分流等关键技术,打造百万级并发规模容器镜像分发平台,为用户提供稳定可靠的镜像下载服务。
AtomHub 五大战略规划:
编辑Docker配置文件
打开或创建 /etc/docker/daemon.json 文件
{
"registry-mirrors": [
"https://atomhub.openatom.cn"
]
}
重启docker服务
systemctl daemon-reload
systemctl restart docker
查看镜像仓库
docker info |grep -C 2 "Registry Mirrors"
AtomHub: https://atomhub.openatom.cn/
AtomHub nginx 镜像部署
1,下载镜像
docker pull atomhub.openatom.cn/amd64/nginx:1.25.2-perl
查看镜像
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
复制配置文件
创建映射存储目录
mkdir -p /docker/nginx
复制配置文件
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
删除启动的容器
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 容器访问
访问容器
docker exec -it --user root nginx-server /bin/bash
宿主机对容器执行命令
docker exec nginx-server /bin/bash -c 'nginx -V'
查看nginx版本
docker exec nginx-server nginx -V
查看nginx日志
docker logs -f --tail=10 nginx-server
nginx web 测试
echo "uos docker atomhub" > /docker/nginx/html/index.html
curl 访问
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