docker
一、docker hub(pull push)
hub.docker.com
进入官方网站以后注册一个账号
注册完以后可以尝试上传文件,做一个公共仓库
以base-debian10为例
然后按照官方的提示
将已有的资源打上官方弹出的标签,然后上传。
[root@docker1 .docker]# docker tag gcr.io/distroless/base-debian10:latest westosshy/base-debian10:latest
[root@docker1 .docker]# docker push westosshy/base-debian10:latest
这样就上传成功了
说完了上传,还有下载,就是pull
直接docker pull
有时候网速会非常慢
这里以aliyun为例
提供一种加速方式
首先进入阿里云官网
注册一个账号
然后
[root@docker1 .docker]# cd /etc/docker/
[root@docker1 docker]# ls
key.json
[root@docker1 docker]# vim daemon.json
[root@docker1 docker]# cat daemon.json
{
"registry-mirrors": ["https://nawo45rn.mirror.aliyuncs.com"]
}
这样下载速度就快了很多
二、搭建私有仓库
利用开源软件registry搭建私有仓库
好处:用私有仓库可以大大提升效率
当私有仓库中没有想要的资源
也可以自动跳转到官网镜像
registry官网网址
https://docs.docker.com/registry/deploying/
很多功能的说明都可以从官网获取
首先拉一个官方registry
作出如下设置
当前仓库为空
先往里写入nginx
如果想写入别的程序都是按照这个步骤来操作
首先是打好标签
然后再上传
加密
提升安全性的必备操作
当前的实验环境(rhel7.6)自带的openssl并不支持部分功能,所以得先升级版本,这里我们用openssl11,可以从阿里云的镜像站直接获取
openssl11-libs-1.1.1k-2.el7.x86_64.rpm
openssl11-1.1.1k-2.el7.x86_64.rpm
安装这两个软件
yum install openssl11-libs-1.1.1k-2.el7.x86_64.rpm openssl11-1.1.1k-2.el7.x86
然后新建一个目录一会用来存放密钥证书文件
mkdir certs
按照官网的提示
生成证书文件
[root@docker1 ~]# openssl11 req -newkey rsa:4096 -nodes -sha256 -keyout certs/westos.org.key -addext "subjectAltName = DNS:reg.westos.org" -x509 -days 365 -out certs/westos.org.crt
Can't load /root/.rnd into RNG
140068775143232:error:2406F079:random number generator:RAND_load_file:Cannot open file:crypto/rand/randfile.c:98:Filename=/root/.rnd
Generating a RSA private key
...............++++
................................................................................................................................................................................................................................................................++++
writing new private key to 'certs/westos.org.key'
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [XX]:cn
State or Province Name (full name) []:shaanxi
Locality Name (eg, city) [Default City]:xi'an
Organization Name (eg, company) [Default Company Ltd]:westos
Organizational Unit Name (eg, section) []:linux
Common Name (eg, your name or your server's hostname) []:reg.westos.org
Email Address []:root@westos.org
成功生成对应域名的证书
如何运用这个证书呢?
按照官网提示
先删掉原先的registry
需要指定路径。-v是添加指定路径
先做一个域名解析
然后需要上传
但识别不到证书
按照官网文件指引
这样就完成了
认证功能
再新建一个目录
`[root@docker1 ~]# mkdir auth
[root@docker1 ~]# yum install -y httpd-tools
`
准备好了认证文件,还是需要删掉已有的registry
然后再写进认证功能
这样就完成了加密
搭建好了一个基本的私人仓库