Docker目前支援很多Gnu/Linux平台,使用較多的是Ubuntu與RHEL平台。本文使用作者小白的Ubuntu PC來示範如何安裝docker。
<code>$ </code><code>sudo</code> <code>apt-get update</code>
<code>$ </code><code>sudo</code> <code>apt-get </code><code>install</code> <code>docker.io</code>
安裝完畢,啟動docker,
<code>$ </code><code>sudo</code> <code>service docker.io start</code>
<code>$ </code><code>sudo</code> <code>docker info</code>
<code>Containers: 18</code>
<code>Images: 12</code>
<code>Storage Driver: aufs</code>
<code> </code><code>Root Dir: </code><code>/var/lib/docker/aufs</code>
<code> </code><code>Dirs: 60</code>
<code>Execution Driver: native-0.2</code>
<code>Kernel Version: 3.13.0-55-generic</code>
<code>WARNING: No swap limit support</code>
然後,使用ifconfig再看一下本機的IP資訊,系統裡會多出一個docker0的網卡,
<code>$ </code><code>ifconfig</code>
<code>docker0 Link encap:Ethernet HWaddr 56:84:7a:fe:97:99 </code>
<code> </code><code>inet addr:172.17.42.1 Bcast:0.0.0.0 Mask:255.255.0.0</code>
<code> </code><code>inet6 addr: fe80::5484:7aff:fefe:9799</code><code>/64</code> <code>Scope:Link</code>
<code> </code><code>UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1</code>
<code> </code><code>RX packets:103571 errors:0 dropped:0 overruns:0 frame:0</code>
<code> </code><code>TX packets:168898 errors:0 dropped:0 overruns:0 carrier:0</code>
<code> </code><code>collisions:0 txqueuelen:0 </code>
<code> </code><code>RX bytes:5959403 (5.9 MB) TX bytes:250822609 (250.8 MB)</code>
<code>eth0 Link encap:Ethernet HWaddr 11:11:11:11:11:11 </code>
<code> </code><code>UP BROADCAST MULTICAST MTU:1500 Metric:1</code>
<code> </code><code>RX packets:0 errors:0 dropped:0 overruns:0 frame:0</code>
<code> </code><code>TX packets:0 errors:0 dropped:0 overruns:0 carrier:0</code>
<code> </code><code>collisions:0 txqueuelen:1000 </code>
<code> </code><code>RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)</code>
<code>lo Link encap:Local Loopback </code>
<code> </code><code>inet addr:127.0.0.1 Mask:255.0.0.0</code>
<code> </code><code>inet6 addr: ::1</code><code>/128</code> <code>Scope:Host</code>
<code> </code><code>UP LOOPBACK RUNNING MTU:65536 Metric:1</code>
<code> </code><code>RX packets:13818 errors:0 dropped:0 overruns:0 frame:0</code>
<code> </code><code>TX packets:13818 errors:0 dropped:0 overruns:0 carrier:0</code>
<code> </code><code>RX bytes:1315817 (1.3 MB) TX bytes:1315817 (1.3 MB)</code>
<code>veth9538 Link encap:Ethernet HWaddr 1e:5d:32:39:ad:c2 </code>
<code> </code><code>inet6 addr: fe80::1c5d:32ff:fe39:adc2</code><code>/64</code> <code>Scope:Link</code>
<code> </code><code>UP BROADCAST RUNNING MTU:1500 Metric:1</code>
<code> </code><code>RX packets:8 errors:0 dropped:0 overruns:0 frame:0</code>
<code> </code><code>TX packets:7 errors:0 dropped:1 overruns:0 carrier:0</code>
<code> </code><code>RX bytes:648 (648.0 B) TX bytes:558 (558.0 B)</code>
<code>wlan0 Link encap:Ethernet HWaddr 10:10:10:10:10:10 </code>
<code> </code><code>inet addr:192.168.1.106 Bcast:192.168.1.255 Mask:255.255.255.0</code>
<code> </code><code>inet6 addr: fe80::ae72:89ff:fef4:358a</code><code>/64</code> <code>Scope:Link</code>
<code> </code><code>RX packets:3740188 errors:0 dropped:0 overruns:0 frame:0</code>
<code> </code><code>TX packets:2472330 errors:0 dropped:0 overruns:0 carrier:0</code>
<code> </code><code>RX bytes:5267690063 (5.2 GB) TX bytes:246334898 (246.3 MB)</code>
接下來,進行安裝debian的鏡像,使用docker search來搜尋一下關于debian的鏡像,
<code>$ </code><code>sudo</code> <code>docker search debain</code>
<code>NAME DESCRIPTION STARS OFFICIAL AUTOMATED</code>
<code>bailaohe</code><code>/java</code> <code>Docker Image with Oracle JDK7 installed o... 0 [OK]</code>
<code>rangalo</code><code>/debian</code> <code>Debain wheezy with some basic tools like w... 0 [OK]</code>
安裝rangalo/debian的鏡像,使用docker pull指令,
<code>$ </code><code>sudo</code> <code>docker pull rangalo</code><code>/debian</code>
<code>Pulling repository rangalo</code><code>/debian</code>
<code>ce6dc3910f8d: Download complete </code>
<code>511136ea3c5a: Download complete </code>
<code>2e5f1fce06be: Download complete </code>
<code>63f650c4db34: Download complete </code>
<code>431ffbc97c99: Download complete </code>
<code>52fc6fdb293f: Download complete</code>
檢視系統中的docker鏡像,使用docker images指令,
<code>$ </code><code>sudo</code> <code>docker images</code>
<code>REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE</code>
<code>ubuntu</code><code>/wget</code> <code>nginx_v1 51bc7cd125d7 43 minutes ago 633.6 MB</code>
<code>ubuntu</code><code>/wget</code> <code>nginx a4e70c05a75d 57 minutes ago 579.7 MB</code>
<code>ubuntu</code><code>/wget</code> <code>latest 6c95a7fc2fd2 About an hour ago 134.7 MB</code>
<code>ubuntu latest 6d4946999d4f 2 weeks ago 188.3 MB</code>
<code>ubuntu 12.04 5c97af892079 3 weeks ago 133.4 MB</code>
<code>rangalo</code><code>/debian</code> <code>latest ce6dc3910f8d 12 months ago 124.5 MB</code>
啟動剛剛下載下傳的rangalo/debian鏡像,使用docker run指令,
<code>$ </code><code>sudo</code> <code>docker run -i -t rangalo</code><code>/debian</code> <code>/bin/bash</code>
其中,-i, --interactive
-t, --tty
<code>root@1fbc03b63a70:/</code><code>#</code>
<code>root@1fbc03b63a70:/</code><code># ip a</code>
<code>1: lo: <LOOPBACK,UP,LOWER_UP> mtu 1500 qdisc noqueue state UNKNOWN </code>
<code> </code><code>link</code><code>/loopback</code> <code>00:00:00:00:00:00 brd 00:00:00:00:00:00</code>
<code> </code><code>inet 127.0.0.1</code><code>/8</code> <code>scope host lo</code>
<code> </code><code>valid_lft forever preferred_lft forever</code>
<code> </code><code>inet6 ::1</code><code>/128</code> <code>scope host </code>
<code>29: eth0: <BROADCAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000</code>
<code> </code><code>link</code><code>/ether</code> <code>02:53:a8:21:96:34 brd ff:ff:ff:ff:ff:ff</code>
<code> </code><code>inet 172.17.0.14</code><code>/16</code> <code>scope global eth0</code>
<code> </code><code>inet6 fe80::53:a8ff:fe21:9634</code><code>/64</code> <code>scope link </code>
可以看到,該容器的IP位址為172.17.0.14,我們ping一下我們的主控端,看是否能夠通信?
<code>root@1fbc03b63a70:/</code><code># ping -c 2 172.17.42.1</code>
<code>PING 172.17.42.1 (172.17.42.1): 48 data bytes</code>
<code>56 bytes from 172.17.42.1: icmp_seq=0 ttl=64 </code><code>time</code><code>=0.167 ms</code>
<code>56 bytes from 172.17.42.1: icmp_seq=1 ttl=64 </code><code>time</code><code>=0.124 ms</code>
<code>--- 172.17.42.1 </code><code>ping</code> <code>statistics ---</code>
<code>2 packets transmitted, 2 packets received, 0% packet loss</code>
<code>round-trip min</code><code>/avg/max/stddev</code> <code>= 0.124</code><code>/0</code><code>.146</code><code>/0</code><code>.167</code><code>/0</code><code>.000 ms</code>
好了,休息一下吧。
版權聲明:原創作品,如需轉載,請注明出處。否則将追究法律責任
本文轉自 bigstone2012 51CTO部落格,原文連結:http://blog.51cto.com/lavenliu/1666269