一、安装docker
1. Docker 要求 CentOS 系统的内核版本高于 3.10 ,执行命令查看内核版本
uname -r
2. 确保yum包更新到最新
sudo yum update
3. 安装需要的软件包,yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
4. 设置yum源
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5. 查看仓库中docker所有版本,选择特定版本安装
yum list docker-ce --showduplicates | sort -r
6. 安装docker,由于repo中默认只开启stable仓库,故这里安装的是docker-ce-18.06.3.ce
yum install docker-ce-18.06.3.ce
7. 启动并加入开机启动
sudo systemctl start docker
sudo systemctl enable docker
8. 验证安装是否成功(有client和service两部分表示docker安装启动都成功了)
docker version
出现Client和Server说明安装和启动都成功了。
二、docker私有仓库registry的搭建以及web ui使用
1. 下载registry镜像
docker pull registry
2. 创建目录
mkdir -p web-registry/frontend web-registry/registry
cd web-registry
3. docker启动容器简单介绍(无需执行该步骤)
docker run -d -p 5000:5000 -v $(pwd)/registry:/var/lib/registry registry
- -d :作为daemon进程启动,也就是后台启动
- -p 5000:5000 :前一个5000是主机的端口,后一个是容器的端口。这里是将容器的5000端口映射到主机的5000端口
- -v $(pwd)/registry:/var/lib/registry : registry挂载目录是在/var/lib/registry下,指定主机目录$(pwd)/registry目录挂载到容器,防止容器意外停止后的镜像丢失($(pwd) --> 当前目录路径)
4. 启动registry
对应目录创建配置文件
$(pwd)/registry/config.yml
version: 0.1
log:
fields:
service: registry-srv
storage:
delete:
enabled: true # 允许删除镜像,默认为false
cache:
blobdescriptor: inmemory
filesystem:
rootdirectory: /var/lib/registry
http:
addr: :5000
headers:
X-Content-Type-Options: [nosniff]
health:
storagedriver:
enabled: true
interval: 10s
threshold: 3
启动(registry 监听主机的 5000端口,并将镜像文件存储在主机的 /var/lib/registry/storage 中。)
docker run -d -p 5000:5000 --restart=always --name registry-srv -v $(pwd)/registry/:/etc/docker/registry:ro -v /var/lib/registry/storage:/var/lib/registry registry:2
5. 接下来安装docker registry web ui,这里使用的是 hyper/docker-registry-web。其实还有docker-registry-frontend等其他ui工具。不过hyper/docker-registry-web同时具备浏览和删除镜像的功能(docker-registry-frontend只能浏览不能删除)。
对应目录创建配置文件
$(pwd)/frontend/config.yml
registry:
# Docker registry url
url: http://registry-srv:5000/v2
# Docker registry fqdn
name: localhost:10050
# To allow image delete, should be false
readonly: false
auth:
# Disable authentication
enabled: false
启动(ui 监听主机的 10080 端口)
docker run -d -p 10080:8080 --name registry-web --link registry-srv -v $(pwd)/frontend/:/conf/:ro hyper/docker-registry-web
此时可使用服务器 ip:10080 访问web registry
6. 列出所有在运行的容器信息
docker ps
7. 私仓测试
下载redis 3.2 镜像,刚好打算在docker中安装redis
docker pull redis:3.2
修改镜像tag
docker tag redis:3.2 localhost:5000/redis
上传到私有仓库
docker push localhost:5000/redis
web registry 查看
拉取
docker pull localhost:5000/redis
赶快试一试吧。本次记录就到这里了。
--------------------------------------------------华丽的分割线--------------------------------------------------------------
文笔不好,望见谅! ^ _ ^
如有任何问题或者意见,欢迎留言交流。