小知识:从零搭建docker私有仓库的步骤

实验环境:

centos7 64位

ubuntu16.04 64位(用于测试私有仓库)

本文分为四个部分:

第一部分: 安装docker

第二部分: 镜像的操作

第三部分: 容器的操作

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

第一部分: 安装docker

?
1
2
3
4
5
6
# 通过yum源安装docker
sudo yum -y install docker
# 启动docker
sudo systemctl start docker
# 开机自启
sudo systemctl enable docker

%小知识:从零搭建docker私有仓库的步骤-猿站网-插图

第二部分: 镜像的操作

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

?
1
2
3
4
# 查找centos镜像
docker search centos
# 下载centos镜像
sudo docker pull docker.io/centos:latest

%小知识:从零搭建docker私有仓库的步骤-1猿站网-插图

列出镜像

?
1
sudo docker image ls

删除镜像

?
1
sudo docker image rm 4655e9997674

%小知识:从零搭建docker私有仓库的步骤-2猿站网-插图

第三部分: 容器的操作

创建容器并进入

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

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

%小知识:从零搭建docker私有仓库的步骤-3猿站网-插图

查看所有容器

?
1
sudo docker ps -a

启动容器

?
1
sudo docker start zhaoolee-centos

查看当前运行的容器

?
1
sudo docker ps

停止容器

?
1
sudo docker stop zhaoolee-centos

%小知识:从零搭建docker私有仓库的步骤-4猿站网-插图

进入容器环境

?
1
sudo docker attach zhaoolee-centos

%小知识:从零搭建docker私有仓库的步骤-5猿站网-插图

向容器内部发送指令

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

?
1
sudo docker exec zhaoolee-centos touch 123.txt

%小知识:从零搭建docker私有仓库的步骤-6猿站网-插图

删除容器

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

?
1
sudo docker rm zhaoolee-centos

%小知识:从零搭建docker私有仓库的步骤-7猿站网-插图

(选学)docker高级命令

交换文件 docker cp

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

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

%小知识:从零搭建docker私有仓库的步骤-8猿站网-插图

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

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

?
1
2
3
4
# 将修改后的容器发布为镜像, `-a`表示作者, `-m`表示对本次修改的说明
sudo docker commit -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

%小知识:从零搭建docker私有仓库的步骤-9猿站网-插图

查看镜像的信息

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

%小知识:从零搭建docker私有仓库的步骤-10猿站网-插图

查看容器内变动日志

?
1
sudo docker diff zhaoolee-centos

%小知识:从零搭建docker私有仓库的步骤-11猿站网-插图

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

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

%小知识:从零搭建docker私有仓库的步骤-12猿站网-插图

%小知识:从零搭建docker私有仓库的步骤-13猿站网-插图

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

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

?
1
sudo docker pull registry:latest

%小知识:从零搭建docker私有仓库的步骤-14猿站网-插图

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

?
1
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. 为本地镜像添加标签,并将其归入本地仓库

为本地镜像添加标签

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

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

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

%小知识:从零搭建docker私有仓库的步骤-15猿站网-插图

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

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

%小知识:从零搭建docker私有仓库的步骤-16猿站网-插图

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

%小知识:从零搭建docker私有仓库的步骤-17猿站网-插图

?
1
2
# 解决安装过程中的问题:解决: 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”] }
声明: 猿站网有关资源均来自网络搜集与网友提供,任何涉及商业盈利目的的均不得使用,否则产生的一切后果将由您自己承担! 本平台资源仅供个人学习交流、测试使用 所有内容请在下载后24小时内删除,制止非法恶意传播,不对任何下载或转载者造成的危害负任何法律责任!也请大家支持、购置正版! 。本站一律禁止以任何方式发布或转载任何违法的相关信息访客发现请向站长举报,会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。本网站的资源部分来源于网络,如有侵权烦请发送邮件至:2697268773@qq.com进行处理。
建站知识

小知识:Linux下用C获取当前时间

2023-4-10 19:07:09

建站知识

小知识:nginx+php出现No input file specified解决办法

2023-4-10 19:14:30

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索