Docker經常使用命令

對容器修改,而後保存鏡像到本地php

$ sudo docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2html

4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1cnode

其中, -m 來指定提交的說明信息,跟咱們使用的版本控制工具同樣; -a 能夠指定更新的用戶信息;之mysql

後是用來建立鏡像的容器的 ID;最後指定目標鏡像的倉庫名和 tag 信息。建立成功後會返回這個鏡像的 IDlinux

信息。web

docker目錄:/var/lib/docker/sql

將庫的鏡像從公有倉庫下載下來,而後啓動:docker

能夠經過 -v 參數來將鏡像文件存放在本地的數據庫

指定路徑。 例以下面的例子將上傳的鏡像放到 /opt/data/registry 目錄。json

$ 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 p_w_picpaths

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

  將 p_w_picpath傳進私有庫

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

相關文章
相關標籤/搜索