首先拉取一個鏡像,在這裡以NGINX為例
<code>[root@DockServer opt]</code><code># docker pull nginx</code>
<code>[root@DockServer opt]</code><code># docker images</code>
<code>REPOSITORY TAG IMAGE ID CREATED SIZE</code>
<code>nginx latest b8efb18f159b 3 weeks ago 107MB</code>
啟動NGINX鏡像,映射出端口
<code>[root@DockServer opt]</code><code># docker run --name webserver -d -p 80:80 nginx</code>
<code>8f62585b370ca34eb8c438adbab0f972e1990cee25000a742c6a2d8e7ee7ba38</code>
<code>[root@DockServer opt]</code><code># docker ps</code>
<code>CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES</code>
<code>8f62585b370c nginx </code><code>"nginx -g 'daemon ..."</code> <code>6 seconds ago Up 6 seconds 0.0.0.0:80->80</code><code>/tcp</code> <code>webserver</code>
通路端口,直接用指令行通路,
<code>[root@DockServer opt]</code><code># curl http://127.0.0.1</code>
<code><!DOCTYPE html></code>
<code><html></code>
<code><</code><code>head</code><code>></code>
<code><title>Welcome to nginx!<</code><code>/title</code><code>></code>
<code><style></code>
<code> </code><code>body {</code>
<code> </code><code>width: 35em;</code>
<code> </code><code>margin: 0 auto;</code>
<code> </code><code>font-family: Tahoma, Verdana, Arial, sans-serif;</code>
<code> </code><code>}</code>
<code><</code><code>/style</code><code>></code>
<code><</code><code>/head</code><code>></code>
<code><body></code>
<code><h1>Welcome to nginx!<</code><code>/h1</code><code>></code>
<code><p>If you see this page, the nginx web server is successfully installed and</code>
<code>working. Further configuration is required.<</code><code>/p</code><code>></code>
<code><p>For online documentation and support please refer to</code>
<code><a href=</code><code>"http://nginx.org/"</code><code>>nginx.org<</code><code>/a</code><code>>.<br/></code>
<code>Commercial support is available at</code>
<code><a href=</code><code>"http://nginx.com/"</code><code>>nginx.com<</code><code>/a</code><code>>.<</code><code>/p</code><code>></code>
<code><p><em>Thank you </code><code>for</code> <code>using nginx.<</code><code>/em</code><code>><</code><code>/p</code><code>></code>
<code><</code><code>/body</code><code>></code>
<code><</code><code>/html</code><code>></code>
可以看到能夠通路在nginx docker裡的東東了,下面我們修改下首頁内容
進入nginx docker 裡面進行修改
<code>進入docker</code>
<code>[root@DockServer opt]</code><code># docker exec -it webserver bash</code>
<code>root@8f62585b370c:/</code><code># echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html</code>
<code>root@8f62585b370c:/</code><code># exit</code>
<code>exit</code>
再次通路看看
<code><h1>Hello, Docker!<</code><code>/h1</code><code>></code>
可以看出,已經修改成功,我們儲存成鏡像
<code>[root@DockServer opt]</code><code># docker commit --author "Ding Jin <[email protected]>" --message "修改nginx預設網頁" webserver webserver:v2</code>
<code>sha256:ca35d11b57bac6e3e4ebab15aaff528c8530f7f5e59e00f58fa61e86edf1aa91</code>
<code>REPOSITORY TAG IMAGE ID CREATED SIZE</code>
<code>webserver v2 ca35d11b57ba 6 seconds ago 107MB</code>
<code>nginx latest b8efb18f159b 3 weeks ago 107MB</code>
<code>已經可以看到webserver:v2鏡像了,運作下</code>
<code>[root@DockServer opt]</code><code># docker run --name web2 -d -p 81:80 webserver:v2</code>
<code>1647edeba49aa664c0ccf642248f6b30b36c6b08990ede580a5803f1a59ae545</code>
<code>[root@DockServer opt]</code><code># curl http://127.0.0.1:81</code>
可以了解以下指令,
<code>檢視webserver做了哪些更改,即和源鏡像對比不同</code>
<code>[root@DockServer opt]</code><code># docker diff webserver</code>
<code>C </code><code>/root</code>
<code>A </code><code>/root/</code><code>.bash_history</code>
<code>C </code><code>/run</code>
<code>A </code><code>/run/nginx</code><code>.pid</code>
<code>C </code><code>/var</code>
<code>C </code><code>/var/cache</code>
<code>C </code><code>/var/cache/nginx</code>
<code>A </code><code>/var/cache/nginx/uwsgi_temp</code>
<code>A </code><code>/var/cache/nginx/client_temp</code>
<code>A </code><code>/var/cache/nginx/fastcgi_temp</code>
<code>A </code><code>/var/cache/nginx/proxy_temp</code>
<code>A </code><code>/var/cache/nginx/scgi_temp</code>
<code>C </code><code>/usr</code>
<code>C </code><code>/usr/share</code>
<code>C </code><code>/usr/share/nginx</code>
<code>C </code><code>/usr/share/nginx/html</code>
<code>檢視webserver:v2曆史檔案變動記錄</code>
<code>[root@DockServer opt]</code><code># docker history webserver:v2</code>
<code>IMAGE CREATED CREATED BY SIZE COMMENT</code>
<code>ca35d11b57ba 4 minutes ago nginx -g daemon off; 98B 修改nginx預設網頁</code>
<code>b8efb18f159b 3 weeks ago </code><code>/bin/sh</code> <code>-c </code><code>#(nop) CMD ["nginx" "-g" "daem... 0B </code>
<code><missing> 3 weeks ago </code><code>/bin/sh</code> <code>-c </code><code>#(nop) STOPSIGNAL [SIGTERM] 0B </code>
<code><missing> 3 weeks ago </code><code>/bin/sh</code> <code>-c </code><code>#(nop) EXPOSE 80/tcp 0B </code>
<code><missing> 3 weeks ago </code><code>/bin/sh</code> <code>-c </code><code>ln</code> <code>-sf </code><code>/dev/stdout</code> <code>/var/log/ngi</code><code>... 0B </code>
<code><missing> 3 weeks ago </code><code>/bin/sh</code> <code>-c apt-get update && apt-get inst... 52.2MB </code>
<code><missing> 3 weeks ago </code><code>/bin/sh</code> <code>-c </code><code>#(nop) ENV NJS_VERSION=1.13.3.... 0B </code>
<code><missing> 3 weeks ago </code><code>/bin/sh</code> <code>-c </code><code>#(nop) ENV NGINX_VERSION=1.13.... 0B </code>
<code><missing> 3 weeks ago </code><code>/bin/sh</code> <code>-c </code><code>#(nop) MAINTAINER NGINX Docker... 0B </code>
<code><missing> 3 weeks ago </code><code>/bin/sh</code> <code>-c </code><code>#(nop) CMD ["bash"] 0B </code>
<code><missing> 3 weeks ago </code><code>/bin/sh</code> <code>-c </code><code>#(nop) ADD file:fa8dd9a679f473a... 55.2MB</code>
結合上篇,我們上傳到本地私有倉庫,然後就直接可以在本地調用了~~
本文轉自 jackjiaxiong 51CTO部落格,原文連結:http://blog.51cto.com/xiangcun168/1957431