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

Docker常用命令

时间:2016-08-12 22:08:49      阅读:246      评论:0      收藏:0      [点我收藏+]

标签:docker   命令   

对容器修改,然后保存镜像到本地

$ 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

Docker常用命令

标签:docker   命令   

原文地址:http://031028.blog.51cto.com/9866455/1837207

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