docker操作运行一步一步来
環境:CentOS 6.5 64位
https://registry.hub.docker.com/??
https://www.gitbook.com/book/yeasy/docker_practice/details ?Docker —— 從入門到實踐
http://yuedu.baidu.com/ebook/d817967416fc700abb68fca1?fr=aladdin&key=docker&f=read&qq-pf-to=pcqq.group?Docker終極指南
http://dockerpool.com/books
此版本現在安裝運行有一定的問題,建議到此鏈接docker初學跟我來
docker安裝 #?yum?install?docker-io??最新為1.5的版本如果沒有安源,先安裝http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
安裝一個centos容器
#?docker?search?ubuntu???????????????????#搜索ubuntu鏡像[root@manager?~]#?docker?search?centos???#搜索centos鏡像 NAME?????????????????????????????????DESCRIPTION?????????????????????????????????????STARS?????OFFICIAL???AUTOMATED centos???????????????????????????????The?official?build?of?CentOS.???????????????????1024??????[OK]??????? ansible/centos7-ansible??????????????Ansible?on?Centos7??????????????????????????????42???????????????????[OK] tutum/centos?????????????????????????Centos?p_w_picpath?with?SSH?access.?For?the?root...???13???????????????????[OK] blalor/centos????????????????????????Bare-bones?base?CentOS?6.5?p_w_picpath????????????????9????????????????????[OK][root@manager?~]#?docker?pull?tutum/centos??#拉取一個docker鏡像到本地 Pulling?repository?tutum/centos 8daafe0f270b:?Download?complete? 6941bfcbbfca:?Download?complete? 41459f052977:?Download?complete? fd44297e2ddb:?Download?complete? e22c88592c50:?Download?complete? ffce4358d6e4:?Download?complete? 5f0574f254a5:?Download?complete? 77ad887d94d4:?Download?complete? 009a97f615dc:?Download?complete? 1d9e8ea240cb:?Download?complete? 1f071815e864:?Download?complete? Status:?Downloaded?newer?p_w_picpath?for?tutum/centos:latest [root@manager?~]#?docker?p_w_picpaths??????????#查看鏡像,這樣就可以了 REPOSITORY?????????????TAG?????????????????IMAGE?ID????????????CREATED?????????????VIRTUAL?SIZE tutum/centos???????????latest??????????????8daafe0f270b????????13?days?ago?????????292.2?MB下面說docker容器的運行,ssh登錄進去
#這時候需要新開或復制一下這個ssh,進行下面操作:
[root@manager?~]#?docker?ps CONTAINER?ID????????IMAGE?????????????????COMMAND?????????????CREATED??????????????STATUS??????????????PORTS???????????????NAMES 87d9ae33bd8b???????tutum/centos:latest???"/bin/bash"?????????About?a?minute?ago???Up?Abouta?minute???22/tcp??????????????elegant_hodgkin?????[root@manager?~]#?docker?commit?87d9ae33bd8b?new_centos aaf36507c751aed68eb2589136cc5ade1b6f062a18fe00733a10afa3780e5c91[root@manager?~]#?docker?p_w_picpaths REPOSITORY?????????????TAG?????????????????IMAGE?ID????????????CREATED?????????????VIRTUAL?SIZE new_centos?????????????latest??????????????aaf36507c751????????6?seconds?ago???????292.2?MB[root@manager?~]#?docker?run?-d?-p?0.0.0.0:2222:22?new_centos?/run.sh 683198a36fcbb8d95cbe63d70c0daa1dc81d0bce9ebd304b731e20aef77cb0ff[root@manager?~]#?docker?ps CONTAINER?ID????????IMAGE???????????????COMMAND?????????????CREATED?????????????STATUS??????????????PORTS??????????????????NAMES 683198a36fcb???????new_centos:latest???"/run.sh"???????????3?seconds?ago???????Up?1? seconds????????0.0.0.0:2222->22/tcp???reverent_jang???????[root@manager?~]#?docker?logs?683198a36fcb?2>&1?|grep?'^and?enter' and?enter?the?root?password?'I2ihX1Fj4Aq2'?when?prompted[root@manager?~]#?ssh?-p?2222?root@localhost root@localhost's?password:?????????????#密碼即是上面寫的'I2ihX1Fj4Aq2'[root@683198a36fcb?~]#?ls?/ bin??etc???lib????lost+found??mnt??proc??run?????sbin????????????srv??tmp??var dev??home??lib64??media???????opt??root??run.sh??set_root_pw.sh??sys??usr為什么會有些麻煩?
原因在于如果你是Ubuntu的系統,直接就可以使用了;然而centos的系統需要在ssh配置里面把“UsePAM yes”禁用才可以ssh登錄,剛開始一直卡到這里:
[root@manager ~]# ssh -p 2222 root@localhost
root@localhost's password:
Connection to localhost closed.
?
也可以先下載centos的鏡像包,這樣就不會出現問題:
?
?
docker容器安裝nginx
ssh進入容器后,安裝一個nginx
#?yum?install?nginx?-y #?/usr/sbin/nginx #?ps?aux|grep?nginx root???????154??0.0??0.2?109392??2136??????????Ss???03:28???0:00?nginx:?master?process?/usr/sbin/nginx nginx??????155??0.0??0.3?109812??3000??????????S????03:28???0:00?nginx:?worker?process到這里,大家應該就明白以后怎么繼續做了,具體怎么配置docker的容器,生成自己定制的一套環境,大家各自大顯身手,這篇是希望通過這些步驟明白docker具體的操作方法
?
?
tutum/centos?這個鏡像也可以這么玩,先設定密碼或者私鑰:
# docker run -d -p 2222:22 -e ROOT_PASS='mypass' new_centos /run.sh
# docker ps
CONTAINER ID????? IMAGE???????? COMMAND????? CREATED?? STATUS????PORTS????????????????? NAMES
fdf9c04e3d60??????? new_centos:latest?? "/run.sh"?????????? 5 seconds ago?????? Up 3 seconds??????? 0.0.0.0:2222->22/tcp?? determined_feynman
# ssh -p 2222 root@localhost
[root@fdf9c04e3d60 ~]# cat /etc/centos-release
CentOS Linux release 7.1.1503 (Core)
tutum/centos? 差點忘說了,這個版本的容器是centos 7.1
或者用私鑰登錄
docker run -d -p 2222:22 -e AUTHORIZED_KEYS="`cat ~/.ssh/id_rsa.pub`" new_centos /run.sh
docker的常用命令
#?docker?pull?<鏡像名:tag>???????????????#拉取一個鏡像 #?docker?p_w_picpaths??????????????????????????#查看p_w_picpaths #?docker?run?-i?-t?p_w_picpath_name?/bin/bash??#交互式進入容器 #?docker?ps??????????????????????????????#查看運行的docker? #?docker?logs?<鏡像名:tag>???????????????#查看容器的logs #?docker?start/stop/kill?<鏡像名:tag>???? #?docker?rm?$(docker?ps?-a?-q)???????????#刪除所有容器 #?docker?rmi?$(docker?p_w_picpaths?|?grep?none?|?awk?'{print?$3}'?|?sort?-r)?#刪除所有鏡像 #?docker?build?-t?<鏡像名>?<Dockerfile路徑>??#構建自己的鏡像 #?docker?cp?683198a36fcb:/run.sh?.???????#從docker復制一個文件到當前目錄 #?docker?save?new_centos:latest?>?net_centos.tar??#保存鏡像 #?docker?load?<?net_centos.tar???????????#載入鏡像 #?docker?run?--help??????????????????????#更多的命令自己查看一下,相當豐富Commands:attach????Attach?to?a?running?containerbuild?????Build?an?p_w_picpath?from?a?Dockerfilecommit????Create?a?new?p_w_picpath?from?a?container's?changescp????????Copy?files/folders?from?a?container's?filesystem?to?the?host?pathcreate????Create?a?new?containerdiff??????Inspect?changes?on?a?container's?filesystemevents????Get?real?time?events?from?the?serverexec??????Run?a?command?in?a?running?containerexport????Stream?the?contents?of?a?container?as?a?tar?archivehistory???Show?the?history?of?an?p_w_picpathp_w_picpaths????List?p_w_picpathsimport????Create?a?new?filesystem?p_w_picpath?from?the?contents?of?a?tarballinfo??????Display?system-wide?informationinspect???Return?low-level?information?on?a?container?or?p_w_picpathkill??????Kill?a?running?containerload??????Load?an?p_w_picpath?from?a?tar?archivelogin?????Register?or?log?in?to?a?Docker?registry?serverlogout????Log?out?from?a?Docker?registry?serverlogs??????Fetch?the?logs?of?a?containerport??????Lookup?the?public-facing?port?that?is?NAT-ed?to?PRIVATE_PORTpause?????Pause?all?processes?within?a?containerps????????List?containerspull??????Pull?an?p_w_picpath?or?a?repository?from?a?Docker?registry?serverpush??????Push?an?p_w_picpath?or?a?repository?to?a?Docker?registry?serverrename????Rename?an?existing?containerrestart???Restart?a?running?containerrm????????Remove?one?or?more?containersrmi???????Remove?one?or?more?p_w_picpathsrun???????Run?a?command?in?a?new?containersave??????Save?an?p_w_picpath?to?a?tar?archivesearch????Search?for?an?p_w_picpath?on?the?Docker?Hubstart?????Start?a?stopped?containerstats?????Display?a?live?stream?of?one?or?more?containers'?resource?usage?statisticsstop??????Stop?a?running?containertag???????Tag?an?p_w_picpath?into?a?repositorytop???????Lookup?the?running?processes?of?a?containerunpause???Unpause?a?paused?containerversion???Show?the?Docker?version?informationwait??????Block?until?a?container?stops,?then?print?its?exit?code Run?'docker?COMMAND?--help'?for?more?information?on?a?commandhttp://yeasy.gitbooks.io/docker_practice/content/appendix_command/index.html?
更精彩的docker教程,在http://www.osstep.com/course/32 PHP沙盒基于docker的自動化實現
轉載于:https://blog.51cto.com/bbotte/1655588
總結
以上是生活随笔為你收集整理的docker操作运行一步一步来的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: jQuery EasyUI动态添加控件或
- 下一篇: Android内核开发:系统编译输出的镜