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

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

  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 cp

通过docker cp命令, 可以实现容器与外部环境的文件交换,即使容器处于未激活状态, 也是可以进行文件交换的

  1. 在docker容器内部新建一个123.txt文件, 将它拷贝到外部环境,
  2. 在外部环境新建一个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

在这里插入图片描述
进入到docker容器目录

docker container exec -it 容器id /bin/bash
#或者
docker container exec -it 容器id /bin/sh
#默认情况下软件安装的目录的/ect目录下

Exit
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值