一、在CentOS7上安裝Docker篇
1. 查看系統版本:
$ cat /etc/redhat-release
CentOS Linux release 7.0.1406 (Core)
2. 安裝docker
$ yum install docker
安裝過程中報錯:
Transaction check error:
file /usr/lib/systemd/system/blk-availability.service from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
file /usr/sbin/blkdeactivate from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
file /usr/share/man/man8/blkdeactivate.8.gz from install of device-mapper-7:1.02.107-5.el7_2.2.x86_64 conflicts with file from package lvm2-7:2.02.105-14.el7.x86_64
解決辦法:
$yum install libdevmapper* -y
再次運行:
$yum install docker
3.檢查安裝是否成功
$docker version
若輸出了 Docker 的版本號,說明安裝成功了,可通過以下命令啟動 Docker 服務:
4. $service docker start
一旦 Docker 服務啟動完畢,就可以開始使用 Docker 了。
二、使用docker
-
使用命令行的工具來檢索名字為“tutorial”的鏡像
$docker search tutorial -
使用docker命令來下載鏡像
$docker pull learn/tutorial -
查看已下載的鏡像
$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
docker.io/learn/tutorial latest 2d13ac7ee948 3 years ago 128 MB -
在docker容器中運行hello world!
docker run命令有兩個參數,一個是鏡像名,一個是要在鏡像中運行的命令。
$docker run learn/tutorial echo “hello word” -
在容器中安裝新的程序(wget命令)
$docker run learn/tutorial apt-get install -y wget -
使用docker ps -l命令獲得安裝完ping命令之后容器的id。然后把這個鏡像保存為learn/wget。
$ docker ps -l
Container ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1861c071d861 learn/tutorial “apt-get install -y w” 2 minutes ago Exited (0) 2 minutes ago furious_panini -
保存對容器的修改
$ docker commit 1861c071d861 learn/wget
ad2245a8acd8014c39ad46b503cc8e74ce4202d9b4b4fdf48596b596b88059b4
執行完docker commit命令之后,返回新版本鏡像的id號 -
運行新的鏡像
到現在為止,我們已經建立了一個完整的、自成體系的docker環境,並且安裝了wget命令在里面。它可以在任何支持docker環境的系統中運行啦!(是不是很神奇呢?)讓我們來體驗一下吧!在新的鏡像中運行wget “http://blog.csdn.net/yown” 命令。
$docker run learn/wget wget “http://blog.csdn.net/yown”成功啦!
$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2e079c9ecac4 learn/wget “wget http://blog.csd” About a minute ago Exited (8) About a minute ago elegant_lumiere -
檢查運行中的鏡像
$docker inspect 2e079c9ecac4 -
發布自己的鏡像
a. 首先在www.docker.com注冊賬戶,登錄並在https://cloud.docker.com/repository/list 頁面創建learn庫b. 將剛才我們做的鏡像起個新的名字:
$docker tag learn/wget:latest yown/learn:latestc. 在命令行登錄:
$docker logind. 上傳
$docker push yown/learn:latestDo you really want to push to public registry? [y/n]: y
The push refers to a repository [docker.io/yown/learn] (len: 1)
ad2245a8acd8: Pushing [=========================> ] 6.482 MB/12.48 MB
至此,整個docker的使用已體驗完啦!