官方仓库
$ hub.docker.com # docker官方仓库
$ https://c.163yun.com # 阿里云仓库
将本地镜像推送到docker官方仓库
创建一个私有官方仓库
docker push wangyongyulinux/tomcat-v1:tagname
制作一个镜像
# 引用前面的文章里的镜像,镜像制作地址为:
$ https://www.cnblogs.com/wang-yy/p/14507649.html
$ docker images # 查看是否有wyylinux/tomcat:v1镜像
更改镜像的标签
$ docker tag wyylinux/tomcat:v1 wangyongyulinux/tomcat-v1:v1
做官方认证
$ docker login
username:wangyongyulinux
password:.........
# 默认登录docker 官方仓库,若是其他的仓库则需要添加仓库的地址(registry.cn-hangzhou.aliyuncs.com)
推送至私有官方仓库
$ docker push wangyongyulinux/tomcat-v1:v1
本地镜像发布到阿里云上
镜像的生成方法
1、DockerFile文件build
2、从容器创建一个新的镜
docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]
-a:提交的镜像作者
-m:提交时的说明文字
将本地镜像推送到阿里云
一之前生成的mycentos:1.3 实验
1、运行mycentos:1.3容器
docker run -it mycentos:1.3
2、生成镜像
docker commit -a mei -m "new mycentos:1.4 whit vim and ifconfig" b268044560e6 mycentos:1.4
3、在阿里云服务器上创建镜像仓库
4、将镜像推送到Registry
docker login --username=meilinux registry.cn-hangzhou.aliyuncs.com
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/mie/mycentos:[镜像版本号]
docker tag 302653c9c371 registry.cn-hangzhou.aliyuncs.com/mie/mycentos:1.4.1
docker push registry.cn-hangzhou.aliyuncs.com/mie/mycentos:[镜像版本号]
docker push registry.cn-hangzhou.aliyuncs.com/mie/mycentos:1.4.1
注意:上传镜像时镜像名必须符合要求可以使用 docker tag 命令修改镜像名
5、前往阿里云镜像仓库查看
私有仓库
Harbor - 企业级 Docker 私有仓库
Harbor说明
(1)proxy:由nginx服务器构成的反向代理
(2)registry:由docker官方的开源registry镜像构成的容器实例
(3)UI:即架构中的core services,构成此容器的代码是harbor项目的主体
(4)MySQL:由官方MySQL镜像构成的数据库容器
(5)log:运行着rsyslogd的容器,通过log-driver的形式收集其他容器的日志
安装docker
# 参考前几篇文章,地址:
$ https://www.cnblogs.com/wang-yy/p/14489468.html
安装docker-compose
# 参考前几篇文章,地址:
$ https://www.cnblogs.com/wang-yy/p/14502718.html
下载好harbor安装包
# 安装底层需求
Python应该是2.7或更高版本
$ python # 检查版本
Docker引擎应为1.10或更高版本
DockerCompose需要为1.6.0或更高版本
$ docker-compose version
# Harbor 官方地址
$ https://github.com/vmware/harbor/releases
# 解压软件包
1)tar -xvf harbor-offline-installer-<version>.tgz 2)https://github.com/vmware/harbor/releases/download/v1.2.0/harbor-offline-installer-v1.2.0.tgz # 本次选择此版本
解压,并修改配置文件
$ tar -zxvf harbor-offline-installer-v1.2.0.tgz
$ mv harbor /usr/local
$ cd /usr/local/harbor
$ ls
# 修改配置文件
$ vim harbor.cfg
hostname = hub.wyy.com # 目标的主机名或者完全限定域名
ui_url_protocol = https # http或https。默认为 http
db_password # 用于db_auth的MySQL数据库的根密码。
max_job_workers # (默认值为 : 3)作业服务中的复制工作人员的最大数量。根据主机的硬件资源,仔细选择该属性的值
customize_crt #(: on或off。默认为 。 on)当此属性打开时, ) prepare脚本将为注册表的令牌的生成 脚 /验证创 验 建私钥和根证书
ssl_cert # SSL证书的路径,仅当协议设置为https时才应用
ssl_cert_key # SSL密钥的路径,仅当协议设置为https时才应用
secretkey_path # 用于在复制策略中加密或解密远程注册表的密码的密钥路径
创建证书及相关配置
# 创建证书存放目录
$ mkdir -p /data/cert/
$ cd /data/cert/
# 创建证书文件(需购买官方证书)
$ openssl genrsa -des3 -out server.key 2048
$ openssl req -new -key server.key -out server.csr
$ cp server.key server.key.org
# 解密
$ openssl rsa -in server.key.org -out server.key
# 把私钥切换证书
$ openssl x509 -req -days 365 -in server.csr -signkey server.key -out server.crt
# 查看是否生成证书文件
$ ls
$ chmod -R 777 /data/cert
# 查看证书位置,是否和配置文件相对应
$ cat /usr/local/harbor/harbor.cfg | grep cert
运行脚本安装
$ cd /usr/local/harbor/
$ ./install.sh
添加镜像仓库地址
$ vim /etc/hosts
192.168.66.112 hub.wyy.com # 添加服务器ip地址、主机名映射
# 指定镜像仓库地址:
$ vim /etc/docker/daemon.json
# {"insecure-registries": ["serverip"] }配置文件中添加(强制信任)
{"insecure-registries": ["hub.wyy.com"] }
# 重启docker使其生效
$ systemctl restart docker
修改本机的hosts文件
# 添加
192.168.66.112 hub.wyy.com
浏览器登录测试
$ hub.wyy.com
# 默认管理员用户名密码为admin /Harbor12345
上传镜像测试是否可以使用
# 登录仓库后,点击推送镜像复制
# docker tag SOURCE_IMAGE[:TAG] hub.wyy.com/library/IMAGE[:TAG]
$ docker images
# 引用前面的文章里的镜像,镜像制作地址为:
$ https://www.cnblogs.com/wang-yy/p/14507649.html
$ docker tag wyylinux/tomcat:v1 hub.wyy.com/library/tomcat:v1
# 认证仓库(logout退出、login登录)
$ docker login hub.wyy.com
username:admin
password:.........
# 推送至仓库
$ docker push hub.wyy.com/library/tomcat:v1
测试访问
$ docker run --name tomcat -p 80:8080 -d hub.wyy.com/library/tomcat:v1