4 回答

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超5個(gè)贊
開始安裝docker之旅:
[root@localhost ~]# uname -r
2.6.32-431.el6.x86_64
?。踨oot@localhost ~]# cat /etc/issue
CentOS release 6.5 (Final)
Kernel \r on an \m
注意其他的源可能導(dǎo)致你的內(nèi)核和docker的版本不一致,需要升級(jí)內(nèi)核至3.x。
安裝:
?。踨oot@localhost ~]# rpm -ivh
Retrieving
warning: /var/tmp/rpm-tmp.JN76fI: Header V3 RSA/SHA256 Signature, key ID 0608b895: NOKEY
Preparing.。。 ########################################### [100%]
1:epel-release ########################################### [100%]
?。踨oot@localhost ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-6
?。踨oot@localhost ~]# yum -y install docker-io
啟動(dòng)并設(shè)置開機(jī)自動(dòng)啟動(dòng)
[root@localhost ~]# service docker start
Starting cgconfig service: [確定]
Starting docker: [確定]
?。踨oot@localhost ~]# chkconfig docker on
獲取cnetos鏡像
?。踨oot@localhost ~]# docker pull centos:latest
centos:latest: The image you are pulling has been verified
511136ea3c5a: Pull complete
5b12ef8fd570: Pull complete
34943839435d: Downloading [===》 ] 18.38 MB/232.5 MB 1h7m49s
#官方安裝方式docker pull imagename從docker的索引中心下載,imagename是鏡像名稱,例如docker pull Ubuntu就是下載base ubuntu并且tag是latest。
我們還可以搜索基于 Fedora 和 Ubuntu 操作系統(tǒng)的容器。
?。踨oot@localhost ~]# docker search ubuntu
?。踨oot@localhost ~]# docker search fedora
查看docker鏡像
?。踨oot@localhost ~]# docker images centos
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 34943839435d Less than a second ago 224 MB
運(yùn)行docker運(yùn)行shell
?。踨oot@localhost ~]# docker run -i -t centos /bin/bash
?。踨oot@2ce733141ece /]#
?。踨oot@2ce733141ece /]#
[root@2ce733141ece /]#
?。踨oot@2ce733141ece /]#
停止容器
[root@localhost ~]# docker stop 《CONTAINER ID》
刪除所有容器
docker rm $(docker ps -a -q)
查看docker的子命令,直接敲docker 或完整的docker help 就可以
常用命令
總結(jié)一下常用命令:
其中《》闊起來的參數(shù)為必選,[]闊起來為可選
docker version 查看docker的版本號(hào),包括客戶端、服務(wù)端、依賴的Go等
docker info 查看系統(tǒng)(docker)層面信息,包括管理的images, containers數(shù)等
docker search 在docker index中搜索image
docker pull 從docker registry server 中下拉image
docker push 推送一個(gè)image或repository到registry
docker push :TAG 同上,指定tag
docker inspect 查看image或container的底層信息
docker images TODO filter out the intermediate image layers (intermediate image layers 是什么)
docker images -a 列出所有的images
docker ps 默認(rèn)顯示正在運(yùn)行中的container
docker ps -l 顯示最后一次創(chuàng)建的container,包括未運(yùn)行的
docker ps -a 顯示所有的container,包括未運(yùn)行的
docker logs 查看container的日志,也就是執(zhí)行命令的一些輸出
docker rm 刪除一個(gè)或多個(gè)container
docker rm `docker ps -a -q` 刪除所有的container
docker ps -a -q | xargs docker rm 同上, 刪除所有的container
docker rmi 刪除一個(gè)或多個(gè)image
docker start/stop/restart 開啟/停止/重啟container
docker start -i 啟動(dòng)一個(gè)container并進(jìn)入交互模式
docker attach attach一個(gè)運(yùn)行中的container
docker run 使用image創(chuàng)建container并執(zhí)行相應(yīng)命令,然后停止
docker run -i -t /bin/bash 使用image創(chuàng)建container并進(jìn)入交互模式, login shell是/bin/bash
docker run -i -t -p 將container的端口映射到宿主機(jī)的端口
docker commit [repo:tag] 將一個(gè)container固化為一個(gè)新的image,后面的repo:tag可選
docker build
尋找path路徑下名為的Dockerfile的配置文件,使用此配置生成新的image
docker build -t repo[:tag] 同上,可以指定repo和可選的tag
docker build - 使用指定的dockerfile配置文件,docker以stdin方式獲取內(nèi)容,使用此配置生成新的image
docker port 查看本地哪個(gè)端口映射到container的指定端口,其實(shí)用docker ps 也可以看到。
上面就是CentOS6.5安裝Docker的方法介紹了,在安裝Docker的時(shí)候,需要升級(jí)內(nèi)核至3.x,以免版本不一樣,本文除了介紹Docker的安裝,還介紹了其常用的命令,希望對(duì)你有所幫助。
,

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超4個(gè)贊
官方鏡像下的簡(jiǎn)單示例 本節(jié)中,將創(chuàng)建一個(gè) Container 來運(yùn)行 Docker 的官方 Registry 鏡像。你將推送(Push)一個(gè)鏡像到這個(gè) Registry 服務(wù)器,然后再?gòu)脑?Registry 中拉?。≒ull)同一個(gè)鏡像。 這是個(gè)很好的練習(xí),有助于理解客戶端與本地 Regis

TA貢獻(xiàn)1805條經(jīng)驗(yàn) 獲得超9個(gè)贊
避免Docker容器啟動(dòng)腳本運(yùn)行后自動(dòng)退出的解決法dockerrun指定的命令如果不是那些一直掛起的命令(比如運(yùn)行top,不斷echo),就是會(huì)自動(dòng)退出的。-d命令是設(shè)置detach為true,根據(jù)官方的文檔,意思是讓這個(gè)命令在后臺(tái)運(yùn)行,但并不是一直運(yùn)行(我們?cè)谝粋€(gè)正常的LinuxTerminal中運(yùn)行/bin/bash,運(yùn)行完了也就完了,不會(huì)一直掛著等待響應(yīng)的,所以確實(shí)沒法用daemon方式來跑/bin/bash)。這個(gè)地方官方早期和現(xiàn)在的文檔也確實(shí)有些前后不一致,現(xiàn)在是detach,早期的文檔說指定-d以daemon方式來運(yùn)行容器,可能存在一定的誤解。另外,如果你需要跑容器里的bash,直接運(yùn)行dockerrun-i-tCONTAINER_NAME/bin/bash就可以了,如果覺得參數(shù)比dockerattach多,可以設(shè)置一個(gè)別名(alias)來解決:aliasdockerbash='dockerrun-i-tCONTAINER_ID/bin/bash'設(shè)置好別名后,直接運(yùn)行dockerbash就可以進(jìn)入容器的bash了
添加回答
舉報(bào)