Linux之Docker私有仓库的搭建
Linux之Docker私有仓库的搭建
私有仓库的搭建
下载registry镜像
[root@toto6 images]# docker pull registery:2
[root@toto6 images]# docker images registry
REPOSITORY TAG IMAGE ID CREATED SIZE
registry 2 f32a97de94e1 4 months ago 25.8MB=
运行此容器
[root@toto6 images]# docker run -d --name registry -p 5000:5000 -v /opt/registry:/var/lib/registry registry:2
创建并运行容器,设置数据卷,并做端口映射
查看容器运行运行情况以及映射端口开启情况:
[root@toto6 images]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc3bcd6346f4 registry:2 “/entrypoint.sh /etc…” About a minute ago Up About a minute 0.0.0.0:5000->5000/tcp registry
[root@toto6 images]# netstat -antlp
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 656/sshd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 778/master
tcp 0 0 172.25.13.160:22 172.25.13.250:57074 ESTABLISHED 2036/sshd: root@pts
tcp6 0 0 :::22 :: LISTEN 656/sshd
tcp6 0 0 ::1:25 :: LISTEN 778/master
tcp6 0 0 :::5000 :: LISTEN 19841/docker-proxy
上传镜像到本地仓库
再上传镜像的时候,一般会默认上传到docker hub官方仓库,现在需要上传到本地自己创建的仓库,需要指定上传的地址以及端口。如果使用ip默认使用tls加密,目前没有设置,所有直接指定到本机的端口。
需要对本地需要进行上传的镜像进行修改标签:
[root@toto6 images]# docker tag nginx:latest localhost:5000/nginx
[root@toto6 images]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx v4 cb475e8f4412 4 hours ago 23.7MB
nginx latest f68d6e55e065 11 days ago 109MB
localhost:5000/nginx latest f68d6e55e065 11 days ago 109MB
registry 2 f32a97de94e1 4 months ago 25.8MB
rhel7 latest 0a3eb3fde7fd 5 years ago 140MB
gcr.io/distroless/base latest 9a255d5fe262 49 years ago 16.8MB
上传修改过标签的镜像到本地仓库:
[root@toto6 images]# docker push localhost:5000/nginx # 上传
The push refers to repository [localhost:5000/nginx]
d2f0b6dea592: Pushed
197c666de9dd: Pushed
cf5b3c6798f7: Pushed
latest: digest: sha256:00be67d6ba53d5318cd91c57771530f5251cfbe028b7be2c4b70526f988cfc9f size: 948
[root@toto6 images]# curl localhost:5000/v2/_catalog # 核实是否上传成功
{“repositories”:[“nginx”]}
查看其数据卷挂载点
运行容器的时候,设置了数据卷,可以子阿宿主机查看上传的结果:
[root@toto6 images]# cd /opt/registry/
[root@toto6 registry]# ls
docker
[root@toto6 registry]# cd docker/
[root@toto6 docker]# ls
registry
[root@toto6 docker]# cd registry/
[root@toto6 registry]# ls
v2
[root@toto6 registry]# cd v2/
[root@toto6 v2]# ls
blobs repositories
[root@toto6 v2]# cd repositories/
[root@toto6 repositories]# ls
nginx
此时创建的私有仓库远程主机无法使用,并且不够安全,此时则可以采用私有仓库加证书加密的方式来创建私有仓库
作者:若无其事的苹果
来源:CSDN
原文:https://blog.csdn.net/qq_36016375/article/details/96047991
版权声明:本文为博主原创文章,转载请附上博文链接!
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Linux之Docker 添加用户认证
Linux之Docker 添加用户认证私有仓库的TLS加密 以上仓库使用明文的方式,并且没有认证。存在较大的安全隐患,下面介绍使用TLS加密以及用户认证。 为docker仓库添加证书加密功能 docker远程主机访问私有仓库,默认必须使用TLS加密 1 生成证书 [root@toto6 ~]# mkdir -p certs[root@toto6 ~]# openssl req -newkey rsa:4096 -nodes -sha256 -keyout certs/toto.com.key -x509 -days 365 -out certs/toto.com.crtGenerating a 4096 bit RSA private key…++…++writing new private key to ‘certs/toto.com.key’You are about to be asked to enter information that will be incorporatedinto your certificate request.What you are about t...
- 下一篇
用 Python 快速实现 HTTP 和 FTP 服务器
用 Python 快速实现 HTTP 服务器有时你需临时搭建一个简单的 Web Server,但你又不想去安装 Apache、Nginx 等这类功能较复杂的 HTTP 服务程序时。这时可以使用 Python 内建的 SimpleHTTPServer 模块快速搭建一个简单的 HTTP 服务器。 SimpleHTTPServer 模块可以把你指定目录中的文件和文件夹以一个简单的 Web 页面的方式展示出来。假设我们需要以 Web 方式共享目录 /Users/Mike/Docker,只需要以下这个命令行就可以轻松实现: $ cd /Users/Mike/Docker$ python -m SimpleHTTPServerServing HTTP on 0.0.0.0 port 8000 ...SimpleHTTPServer 模块默认会在 8000 端口上监听一个 HTTP 服务,这时就可以打开浏览器输入 http://IP:Port 访问这个 Web 页面。例如类似下面的 URL: http://192.168.100.49:8000如果你需要 Web 服务有一个默认页,可以在目录下创建一...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
-
Docker使用Oracle官方镜像安装(12C,18C,19C)
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- CentOS8编译安装MySQL8.0.19
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- MySQL8.0.19开启GTID主从同步CentOS8
- CentOS7,8上快速安装Gitea,搭建Git服务器
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果
推荐阅读
最新文章
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS6,CentOS7官方镜像安装Oracle11G
- SpringBoot2整合Redis,开启缓存,提高访问速度
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- Hadoop3单机部署,实现最简伪集群
- MySQL8.0.19开启GTID主从同步CentOS8
- SpringBoot2编写第一个Controller,响应你的http请求并返回结果