Docker安裝
$rpm -ivh epel-release-6-8.noarch.rpm 先安裝epel-release-6-8.noarch.rpm
$yum -y install docker-io 安裝docker-io的包 ,如果之前有安裝任何Docker的安裝包全部卸除掉
$service docker start 啓動docker進程
$chkconfig --level 2345 docker on 設置docker自動啓動
$docker pull centos:latest 設置Docker更新到最新版本
我們確認docker是否正常工作,首先我們需要獲取最新的centos鏡像
$docker pull centos:latest
$docker p_w_picpaths centos 查看Docker鏡像
[root@docker ~]# docker p_w_picpaths centos
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
centos latest 7322fbe74aa5 6 weeks ago 172.2 MB
$docker run -i -t centos /bin/bash 運行簡單的bash shell來測試這個鏡像創建
創建Docker Hub賬戶
這裏有兩種訪問可以創建和註冊一個Docker Hub賬戶:
1.通過網站,或者
2.通過命令行
通過網站註冊
填寫註冊表單,選擇您的用戶名和密碼並制定您的電子郵箱。你也可以報名參加docker郵件列表,會有很多關於docker的信息
命令登錄DockerHub
$Docker login
在Docker中運行"Hellow wrold"
$Docker run centos /bin/echo 'hello world' 運行了第一個容器
Docker run 都運行了那些步驟 我們指定了 Docker二進制中我們想要執行的命令,run。docker run 組合運行容器,運行的鏡像是centos(當指定的鏡像不存在時就會從公共鏡像庫下載),然後執行run 創建一個容器,然後告訴Docker在新容器運行什麼命令 \bin\echo,就會看到結果 hello world,如果Docker容器輸入指令激活時,這裏只要hello word輸出,容器就會停止。
$docker run -t -i ubuntu:14.04 /bin/bash
-t
和-i
。-t
標示在心容器內指定一個僞終端或終端,-i
標示允許我們對容器內的STDIN進行交互。/bin/bash。這將在容器內啓動bash shell;當你運行完一些命令,輸入exit退出。
$docker run -d ubuntu:14.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147
docker但是我們指定了一個
-d
標識。-d
標識告訴docker運行容器在後臺模式運行。這是一個荒謬的hello word進程:一個腳本會一直輸出"hello word"
爲什麼不是我們看到的一大堆的"hello word"?而是docker返回的一個很長的字符串:
1e5535038e285177d5214659a068137486f96ee5c2e85a4ac52dc83f2ebe4147
這個長的字符串叫做容器ID。它是容器的唯一標識,所以我們可以使用它。
注意:容器ID是有點長並且非常的笨拙,稍後我們會看到一個斷點的ID,某些方面來說它是容器ID的簡化版。
docker ps 命令必須確保容器正在運行
#我們可以使用
docker ps -a
命令來查看(無需關心容器有沒有運行)。docker ps
命令可以查詢docker進程的所有容器。[root@docker ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
d162d83800cf centos:latest "/bin/bash" 2 days ago Exited (0) 2 days ago reverent_mclean
325af222cdd9 centos:latest "/bin/echo 'hellow w 2 days ago naughty_stallman
6452d29e7540 centos:latest "/bin/bash echo 'hel 2 days ago Exited (126) 2 days ago adoring_mccarthy
db8321ced433 centos:latest "/bin/bash" 2 days ago Exited (0) 2 days ago silly_euclid
a1edce86da9b centos:latest "/bin/bash" 2 days ago Exited (0) 2 days ago angry_goodall
41035d2328ea centos:latest "/bin/bash" 3 days ago Exited (0) 3 days ago
docker ps命令會返回一些有用的信息,這裏包括一個短的容器ID:d162d83800cf。自動分配了名稱:reverent_mclean
注意:docker會在容器啓動的時候自動給容器命名,稍後我們可以看到我們如何給容器指定名稱。
我們需要在我們容器內使用
docker logs
命令(正在運行的容器內)。讓我們給系統自動分配名稱的容器使用這個命令。
$docker logs angry_goodalldocker logs 命令看起來想運行在容器內並且返回標準輸出:這種情況下我們的命令輸出hello word太棒了;停止這個後臺進程容器。爲此讓我們使用docker stop命令停止。
$docker stop insane_babbagedocker stop命令會通知docker停止正在運行的容器。如果它成功了,它將返回剛剛停止的容器名稱。通過docker ps命令來檢查它是否還工作。 $ sudo docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES