从零搭建docker私有仓库
实验环境:
- centos7 64位
- ubuntu16.04 64位(用于测试私有仓库)
本文分为四个部分:
- 第一部分: 安装docker
- 第二部分: 镜像的操作
- 第三部分: 容器的操作
- 第四部分: 私有仓库的创建
第一部分: 安装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 -it 775c7c9ee1e1 /bin/bash
向容器内部发送指令
我们可以在不进入容器环境的情况下, 向容器内部发送指令
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 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
查看镜像的信息
# 查看刚刚新建的镜像信息 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
docker作为一种新兴的虚拟化方式,无论是执行速度、内存损耗或者文件存储速度,都要比传统虚拟机技术更高效, docker本身支持类似git的操作, 让应用的迭代部署更为简单高效, 对于一些依赖非常复杂的应用, 我们可以直接下载它的docker版本, 开箱即用, 省时省力, 同时为运维人员创造了更多偷懒的机会~
看到这里, 你已经了解了docker常用的功能,如果想用docker实战一下, 比如搭建一个属于自己的git站点, 可以继续阅读用gogs搭建属于自己的git网站

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
阿里云专有宿主机国际站(公测)发布
产品介绍: 阿里云专有宿主机是一台物理独享的云主机,和其他租户在物理级别上隔离。专有宿主机提供给用户一种依托阿里云虚拟化服务的单租户运行环境,彻底解决多租户争抢问题,获得更高隔离性,满足更严格合规监管,满足自带许可证上云场景。专有宿主机提供物理机维度的资源部署能力,提高ECS服务器集群的部署灵活性。 适用客户: BYOL自带许可证的客户; 有安全合规类要求的客户; 对性能稳定性有极高要求的客户。 发布功能: 产品上线公测 付费方式: 包年包月 产品文档: 产品详情页: https://www.alibabacloud.com/product/ddh 产品文档: https://www.alibabacloud.com/help/doc-detail/68563.htm
- 下一篇
用gogs搭建属于自己的git网站
如果你对docker的操作不太了解, 建议先阅读 从零搭建docker私有仓库 gogs是一款极易搭建的自助 Git 服务, 掌握了它, 我们就可以搭建自己的git服务站点 gogs官网: https://gogs.io/, github中文地址:https://github.com/gogs/gogs/blob/master/README_ZH.md 实验环境: 腾讯云 centos 7 安装docker # 通过yum源安装docker yum -y install docker # 启动docker systemctl start docker # 开机自启 sudo systemctl enable docker 下载gogs的docker镜像 docker pull gogs/gogs 创建gogs存储的目录 mkdir -p /var/gogs 运行镜像, 产生容器 docker run --name=gogs -p 10022:22 -p 10080:3000 -v /var/gogs:/data gogs/gogs 配置 通过浏览器访问公网ip地址:10080 按照图中...
相关文章
文章评论
共有0条评论来说两句吧...