对容器修改,然后保存镜像到本地
$ sudo docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c
其中, -m 来指定提交的说明信息,跟我们使用的版本控制工具一样; -a 可以指定更新的用户信息;之
后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID
信息。
docker目录:/var/lib/docker/
将库的镜像从公有仓库下载下来,然后启动:
可以通过 -v 参数来将镜像文件存放在本地的
指定路径。 例如下面的例子将上传的镜像放到 /opt/data/registry 目录。
$ sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry
#docker run -d -p 5000:5000 --name my_registry -v /home/test/registry:/tmp/registry index.alauda.cn/library/registry
进入容器中操作:
docker exec -it centos_test1 /bin/bash
从库中上传镜像至库时,无论是库,还是远端机器都需要修改docker启动参数:
Ubuntu14.0
vim /etc/default/docker
增加以下一行
DOCKER_OPTS="$DOCKER_OPTS --insecure-registry=104.131.173.242:5000"
重启Docker
sudo service docker restart
#修改docker文件(centos6.5版本 )
root > vim /etc/sysconfig/docker
other_args="--insecure-registry www.monicacca.com:5000"
DOCKER_CERT_PATH=/etc/docker
#重启docker
root>sudo service docker restart
源文档 <http://blog.sina.com.cn/s/blog_6b8660320102vokt.html>
源文档 <http://blog.csdn.net/delphiwcdj/article/details/43099877>
进库之前需将镜像改成库识别的tag:
root@ubuntu-server14:/home/test# docker tag csphere/centos_snap:7.1 10.1.1.156:5000/csphere/centos_snap:7.1
root@ubuntu-server14:/home/test# docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
csphere/centos_snap 7.1 9cb1669dff14 19 hours ago 522.8 MB
10.1.1.156:5000/csphere/centos_snap 7.1 9cb1669dff14 19 hours ago 522.8 MB
csphere/ubuntu-new 12.04 3b10b84c7a3c 23 hours ago 201.4 MB
csphere/centos-new 7.1 1c4100b77d6f 27 hours ago 591.3 MB
csphere/website1 1.0 9e1efed7bd07 27 hours ago 785.2 MB
csphere/workpress 4.2 796d351d0b9f 46 hours ago 722.5 MB
csphere/mysql 5.5 9045193e0fe4 2 days ago 724.9 MB
index.alauda.cn/lawsonduan/test 5.5 9045193e0fe4 2 days ago 724.9 MB
csphere/php-fpm 5.4 cb02d60727ea 2 days ago 684.9 MB
csphere/centos 7.1 15e1362ccd01 2 days ago 591.3 MB
ubuntu 12.04 33eb06bbb379 6 days ago 138.4 MB
index.alauda.cn/library/registry latest 07d93e41c370 8 weeks ago 422.9 MB
registry latest 07d93e41c370 8 weeks ago 422.9 MB
centos centos7.1.1503 fab4b1df8eb1 5 months ago 212.1 MB
将 image传进私有库
docker push 10.1.1.156:5000/csphere/centos_snap
查看库:
curl http://10.1.1.156:5000/v1/search
创建数据容器,提供给其他容器共享同一个数据存放目录,数据容器不需要运行即可使用:
# docker run -d -v /dbdata --name dbdata csphere/centos:7.1 echo "Data-only container"
#docker run -d --volumes-from dbdata --name centos_db1 csphere/centos:7.1
docker run -d --volumes-from dbdata --name centos_db2 csphere/centos:7.1
查看容器的日志:
#docker logs -f centos_db1
容器互联:
#docker run -d --name db1 csphere/mysql:5.5
#docker run -d -P --name web2 --link db1:db1 csphere/php-fpm:5.4 (前一个db1是数据库容器名,后一个是别名)
#docker exec -it web2 /bin/bash
[root@c209d4c8b215 /]# more /etc/hosts
172.17.0.12 c209d4c8b215
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
172.17.0.11 db1 4b490b7dcde9
[root@c209d4c8b215 /]# ping db1
PING db1 (172.17.0.11) 56(84) bytes of data.
64 bytes from db1 (172.17.0.11): icmp_seq=1 ttl=64 time=2.28 ms
64 bytes from db1 (172.17.0.11): icmp_seq=2 ttl=64 time=0.122 ms
64 bytes from db1 (172.17.0.11): icmp_seq=3 ttl=64 time=0.124 ms
多个web容器可以链接一个db容器
挂载宿主机已存在目录后,在容器内对其进行操作,报“Permission denied”。
可通过两种方式解决:
1> 关闭selinux。
临时关闭:# setenforce 0
永久关闭:修改/etc/sysconfig/selinux文件,将SELINUX的值设置为disabled。
2> 以特权方式启动容器
指定--privileged参数
如:# docker run -it --privileged -v /test:/soft centos /bin/bash
本文出自 “老段的修炼人生” 博客,请务必保留此出处http://031028.blog.51cto.com/9866455/1837207
原文地址:http://031028.blog.51cto.com/9866455/1837207