码迷,mamicode.com
首页 > 其他好文 > 详细

Docke容器及仓库管理

时间:2016-07-18 06:16:04      阅读:353      评论:0      收藏:0      [点我收藏+]

标签:docker

1.容器管理

docker create  -it  centos   

#创建一个容器,但该容器并没有启动

docker start  26e04d6c4ed3  (通过docker ps -a查看ID) 

#启动容器后,可以使用 docker ps  查看到,有start 就有stop,和restart,之前我们使用的docker run 相当于先create再start


docker exec -it 26e04d6c4ed3  /bin/bash    #进入某个镜像

====================或

docker run -i -t centos  bash#这样进入了一个虚拟终端里面,我们可以运行一些命令,使用命令exit或者ctrl d 退出该bash,当退出后这个容器也会停止。

docker run -d   #可以让容器在后台运行

比如:docker run -d centos  bash -c "while :; do echo "123"; sleep 1; done "

docker logs    #可以获取到容器的运行历史信息

docker logs  container_id  

docker attach  container_id    

#但是attach命令不算好用,比如我们想要退出终端,就得exit了,这样容器也就退出了,还有一种方法

docker exec -i -t container_id  bash  

#可以临时打开一个虚拟终端,并且exit后,容器依然运行着

docker rm  container_id  

#container_id是ps的时候查看到的,这样就可以把所有container删除,如果是运行的容器,可以加-f

docker  export  container_id  > centos.tar  

#导出容器,可以迁移到其他机器上,需要导入

cat centos.tar |docker import - centos 

#这样会生成centos的镜像,而不是容器


2.Docker仓库管理

docker pull registry   

#下载registry 镜像,registy为docker官方提供的一个镜像,我们可以用它来创建本地的docker私有仓库。

docker run -d -p 5000:5000 registy   

#以registry镜像启动容器,监听5000端口

curl 127.0.0.1:5000  

#可以访问它

下面我们来把其中一个镜像上传到私有仓库

1. docker tag aming_test  172.7.15.106:5000/centos //标记一下tag,必须要带有私有仓库的ip:port

2. docker push 172.7.15.106:5000/centos   //此时报错了类似如下

Error response from daemon: invalid registry endpoint https://172.7.15.106:5000/v0/: unable to ping registry endpoint https://172.7.15.106:5000/v0/

v2 ping attempt failed with error: Get https://172.7.15.106:5000/v2/: EOF

v1 ping attempt failed with error: Get https://172.7.15.106:5000/v1/_ping: EOF. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 172.7.15.106:5000` to the daemon‘s arguments. In the case of HTTPS, if you have access to the registry‘s CA certificate, no need for the flag; simply place the CA certificate at /etc/docker/certs.d/172.7.15.106:5000/ca.crt

这是因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误。为了解决这个问题需要在启动docker server时增加启动参数为默认使用http访问。解决该问题的方法为:

vi /etc/init.d/docker  

把 $exec -d $other_args 改为

$exec -d --insecure-registry 172.7.15.106:5000 $other_args

然后重启docker

service docker restart

再启动registry容器

docker start  registry_container_id

curl http://172.7.15.106:5000/v1/search   //可以查看私有仓库里面的所有镜像


本文出自 “抚琴煮酒” 博客,请务必保留此出处http://szk5043.blog.51cto.com/8456440/1827181

Docke容器及仓库管理

标签:docker

原文地址:http://szk5043.blog.51cto.com/8456440/1827181

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!