当前位置: 首页 » 综合知识 » it知识 » 正文

怎么从零搭建docker私有仓库

发布时间:2023-07-29 以下文章来源于网友投稿,内容仅供参考!

实验环境:

第一部分: 安装docker

# 通过yum源安装docker
sudo yum -y install docker
# 启动docker
sudo systemctl start docker
# 开机自启
sudo systemctl enable docker

第二部分: 镜像的操作

查找并下载docker镜像(以centos为例)

# 查找centos镜像
docker search centos
# 下载centos镜像
sudo docker pull docker.io/centos:latest

列出镜像

sudo docker image ls

删除镜像

sudo docker image rm 4655e9997674

第三部分: 容器的操作

创建容器并进入

sudo docker run -t -i --name zhaoolee-centos docker.io/centos:latest /bin/bash

参数说明: -t分配一个伪终端并绑定到容器的标准输入,-i 让容器的标准输入保持打开

查看所有容器

sudo docker ps -a

启动容器

sudo docker start zhaoolee-centos

查看当前运行的容器

sudo docker ps

停止容器

sudo docker stop zhaoolee-centos

进入容器环境

sudo docker attach zhaoolee-centos

向容器内部发送指令

我们可以在不进入容器环境的情况下, 向容器内部发送指令

sudo docker exec zhaoolee-centos touch 123.txt

删除容器

将容器停止后, 可以删除容器

sudo docker rm zhaoolee-centos

(选学)docker高级命令

交换文件 docker cp

通过docker cp命令, 可以实现容器与外部环境的文件交换

我们在docker容器内部新建一个123.txt文件, 将它拷贝到外部环境, 在外部环境新建一个456.txt拷贝到docker容器内部(如下图)

即使容器处于未激活状态, 也是可以进行文件交换的

将修改后的容器发布为镜像

# 将修改后的容器发布为镜像, `-a`表示作者, `-m`表示对本次修改的说明
sudo docker mit -a "zhaoolee" -m "add 123.txt 456.txt" zhaoolee-centos zhaoolee-centos:0.1
# 基于新建的镜像创建容器
sudo docker run -t -i --name my-centos zhaoolee-centos:0.1 /bin/bash

查看镜像的信息

# 查看刚刚新建的镜像信息
sudo docker history zhaoolee-centos:0.1

查看容器内变动日志

sudo docker diff zhaoolee-centos

查看镜像和容器的详细信息

# 查看镜像的详细信息
sudo docker inspect zhaoolee-centos:0.1 
# 查看容器的详细信息
sudo docker inspect zhaoolee-centos

第四部分: 私有仓库的创建

1. 下载私有仓库注册服务器的镜像

sudo docker pull registry:latest

2. 创建一个注册服务器容器

sudo docker run -d -p 5000:5000 --name server-registry -v /tmp/registry:/tmp/registry docker.io/registry:latest

参数说明 -d容器在后端运行, -p 5000:5000在容器的5000端口运行并映射到外部系统的5000端口, --name server-registry容器命名为server-registry, -v /tmp/registry /tmp/registry把宿主机的目录/tmp/registry挂载到容器目录/tmp/registry

3. 为本地镜像添加标签,并将其归入本地仓库

为本地镜像添加标签

sudo docker tag zhaoolee-centos:0.1 localhost:5000/zhaoolee-centos:0.1

将被标记的本地镜像, push到仓库

sudo docker push localhost:5000/zhaoolee-centos:0.1

4.测试本地仓库的的可用性

在虚拟机内网,开启另一台ubuntu16.04虚拟机, unbutu16.04尝试从centos7获取刚刚创建的镜像zhaoolee-centos:0.1

sudo docker pull 192.168.214.156:5000/zhaoolee-centos:0.1

# 解决安装过程中的问题:解决: error response from daemon: get https://192.168.214.156:5000/v2/: http: server gave http response to https client
echo '{ "insecure-registries":["192.168.214.156:5000"] }' > /etc/docker/daemon.json
  • • Linux Ecdsa密钥长度选择有何依据

    在Linux

  • • Linux Khook在内核监控中的应用如何

    Linux

  • • Linux Gsoap是否支持异步通信

    GSOAP是

  • • Linux Coremail如何提升用户体验

    提升Linu

  • • Linux Ecdsa算法有哪些局限性

    ECDSA

  • 哎呀音乐钢琴键盘学习《 钢琴主人训练营》 西瓜学琴
    郭蝈 陪练钢琴 30节课时 考级刚需 让孩子每一次练琴都是高质量的
    30天轻松学会五线谱 流行钢琴自学初级教程 牙牙学琴
    流行爵士钢琴实战技巧VIP课 - 继伟 哎呀音乐
    【海上钢琴师】原版 MT1990钢琴谱
    百首经典流行钢琴实战曲集 - 继伟
    雷费尔德电钢琴重锤88键专业考级儿童初学者数码电子钢琴家用
    小练咖 真人钢琴陪练 1v1服务 2999随时退 1课时50分钟 考级刚需
    雅马哈电钢琴88键重锤CLP735智能数码电子钢琴家用专业初学者考级
    【原装进口】Yamaha/雅马哈钢琴 b121 SC2原声静音钢琴
  • 珠海专业调钢琴
  • 天津宝坻区调钢琴
  • 天津静海区钢琴调音
  • 成都简阳市钢琴调律
  • 大连瓦房店市钢琴调音
  • 眉山调钢琴联系方式
  • 惠州大亚湾钢琴调琴师
  • 长治调琴师
  • 厦门湖里区钢琴调音师
  • 上海普陀区钢琴调音师