1. 程式人生 > >在CentOS7上安裝docker篇

在CentOS7上安裝docker篇

test ges creat rtu 出了 blog apt ice pin

一、在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

    1. 使用命令行的工具來檢索名字為“tutorial”的鏡像
      $docker search tutorial

    2. 使用docker命令來下載鏡像
      $docker pull learn/tutorial

    3. 查看已下載的鏡像
      $ docker images
      REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
      docker.io/learn/tutorial latest 2d13ac7ee948 3 years ago 128 MB

    4. 在docker容器中運行hello world!

      docker run命令有兩個參數,一個是鏡像名,一個是要在鏡像中運行的命令。
      $docker run learn/tutorial echo “hello word”

    5. 在容器中安裝新的程序(wget命令)
      $docker run learn/tutorial apt-get install -y wget

    6. 使用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” www.120xh.cn 2 minutes ago Exited (0) 2 minutes ago furious_panini

    7. 保存對容器的修改
      $ docker commit 1861c071d861 learn/wget
      ad2245a8acd8014c39ad46b503cc8e74ce4202d9b4b4fdf48596b596b88059b4
      執行完docker commit命令之後,返回新版本鏡像的id號

    8. 運行新的鏡像
      到現在為止,我們已經建立了一個完整的、自成體系的docker環境,並且安裝了wget命令在裏面。它可以在任何支持docker環境的系統中運行啦!(是不是很神奇呢?)讓我們來體驗一下吧!

      在新的鏡像中運行wget “http://www.mcyllpt.com .csdn.net/yown” 命令。
      $docker run learn/wget wget “http://www.yigouyule2.cn .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 (www.taohuayuan178.com 8) About a minute ago elegant_lumiere

    9. 檢查運行中的鏡像
      $docker inspect 2e079c9ecac4

    10. 發布自己的鏡像
      a. 首先在www.docker.com註冊賬戶,登錄並在https://cloud.docker.com/repository/list 頁面創建learn庫

      b. 將剛才我們做的鏡像起個新的名字:
      $docker tag learn/wget:latest yown/learn:latest

      c. 在命令行登錄:
      $docker login

      d. 上傳
      $docker push yown/learn:latest

      Do you really want to push to public registry? [y/n]: y
      The push refers to a repository [docker.io/ www.taohuayuan178.com yown/learn] (len: 1)
      ad2245a8acd8: Pushing [=========================> ] 6.482 MB/12.48 MB

在CentOS7上安裝docker篇