一、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
#下载镜像
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数据库。