Docker 私有仓库

一、docker-registry

镜像私有仓库

Centos 7-- node-01

192.168.1.203

registry

Centos 7-- node-02

192.168.1.202

client

二、安装

yum install docker -y

docker  pull  registry

#修改配置文件

vim /etc/sysconfig/docker

改:OPTIONS 添加--insecure-registry 192.168.1.203:5000

使用 registry 镜像搭建一个私有仓库。 registry 镜像中已经把搭建私有库程序安装好了,我只需要使用 registry 镜像运行一个 docker 实例就可以了。默认情况下,Registry 程序的存放镜像信息的目录是/var/lib/registry 目录下,这样如果容器被删除,则存放于容器中的镜像也会丢失,所以我们一般情况下会挃定本地物理机一个目录如/opt/registry挂载到容器的/var/lib/registry 下,这样两个目录下都有!

docker pull busybox   #下载一个小镜像

docker tag docker.io/busybox 192.168.1.203:5000/busybox

docker push 192.168.1.203:5000/busybox

#客户端

yum install docker  -y

#修改配置文件

vim /etc/docker/daemon.json

{

"insecure-registries":["192.168.1.203:5000"]

}

#测试仓库

curl http://192.168.1.203:5000/v2/_catalog

wps2F5F.tmp

#下载镜像

docker pull 192.168.1.203:5000/busybox

#上传镜像

先打包,一定要这种格式

docker tag centos7 192.168.1.203:5000/centos7

docker push 192.168.1.203:5000/centos7

三、数据卷容器

docker run -it -v /root/test:/opt/test --name data 192.168.1.203:5000/centos7 #先挂载一个目录

docker run -itd --name test --volumes-from data(数据容器名) centos7 #共享数据容器

--volumes-from #来自那个容器卷

-v    #挂载目录

大约在 docker 0.6 版以后,privileged 被引入 docker。使用该参数,container 内的 root 拥有真

正的 root 权限。否则,container 内的 root 只是外部的一个普通用户权限。

使用 privileged 吭劢的容器,可以看到徆多 host 上的设备,并且可以执行 mount。甚至允许你docker容器中启用 docker 容器。不启用 privileged,容器中 root 用户能执行 mount

--privileged=true #允许开启特权功能

docker run -it --privileged centos7 bash

链接允许容器间安全通信,使用--link选项创建链接。

docker run --name=mysql_client1 --link=mysql_server:db -i -t hzc/mysql_client mysql -h db -uroot -p1234

--link=mysql_server:db , 是告诉当前容器需要使用mysql_server容器,并命名为db。这里db就是mysql_server容器的别名。在后面连接数据库的时候是可以直接使用mysql -h db -uroot -p1234来连接mysql数据库。

原文地址:https://www.cnblogs.com/sunjingjingking/p/9305801.html