1. 程式人生 > >Docker安裝初試&&製作centos6.5基礎映象

Docker安裝初試&&製作centos6.5基礎映象

https://blog.tankywoo.com/docker/2014/05/08/docker-4-summary.html
https://yeasy.gitbooks.io/docker_practice/content/basic_concept/container.html
centos7.x系列的yum源中自帶了docker的rpm包,安裝比較簡單
# yum install docker -y
安裝過程中可能會遇到lvm2包依賴衝突,如不使用,解除安裝即可
# yum remove lvm2
啟動服務
# service docker start
檢視版本
# docker -v
Docker version 1.10.3, build d381c64-unsupported


獲取BusyBox映象
# docker pull busybox
建立容器並echo一句話
# docker run busybox /bin/echo Starting docker trip?
Starting docker trip?

centos6.x系列需要安裝epel源,並且升級核心到3.10版本否則docker不能正常執行
基於git克隆安裝https://github.com/llitfkitfk/docker-tutorial-cn

# git clone git://github.com/llitfkitfk/docker-tutorial-cn.git
# cd docker-tutorial-cn/
# ./docker_install.sh ##執行此步驟如果報下文錯誤需要修改/etc/yum.repos.d/epel.repo檔案,取消baseurl的註釋,註釋掉mirrorlist Error: Cannot retrieve metalink for repository: epel. Please verify its path and try again # ./docker_config.sh ##可根據實際情況修改docker image的儲存路徑,此處配置到/mnt/docker,預設路徑是/var/lib/docker # mkdir /mnt/docker # ./start_docker.sh ##開啟docker服務
docker: relocation error: docker: symbol dm_task_get_info_with_deferred_remove, version Base not defined in file libdevmapper.so.1.02 with link time reference # yum upgrade device-mapper-libs ##啟動報錯,需要安裝依賴 # docker info ##檢查Docker是否正確安裝 Containers: 0 Images: 0 Storage Driver: devicemapper Pool Name: docker-253:0-1182180-pool Pool Blocksize: 65.54 kB Backing Filesystem: extfs Data file: /dev/loop0 Metadata file: /dev/loop1 Data Space Used: 305.7 MB Data Space Total: 107.4 GB Data Space Available: 28.35 GB Metadata Space Used: 733.2 kB Metadata Space Total: 2.147 GB Metadata Space Available: 2.147 GB Udev Sync Supported: true Deferred Removal Enabled: false Data loop file: /var/lib/docker/devicemapper/devicemapper/data Metadata loop file: /var/lib/docker/devicemapper/devicemapper/metadata Library Version: 1.02.117-RHEL6 (2016-04-01) Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 2.6.32-358.6.2.el6.x86_64 Operating System: <unknown> CPUs: 12 Total Memory: 3.662 GiB Name: localhost ID: SAJR:3GXN:LA3H:XV3F:4WUS:PJNS:N7YI:IXS2:LCO2:J6WL:AMCV:AEBW

在docker index中搜索centos相關的image
# docker search centos
從docker registry server拉取centos映象
# docker pull centos
建立一個執行bash應用的容器,一直報錯,使用-d命令檢視進行執行資訊,發現核心版本過低

# docker run -i -t centos /bin/bash
Error response from daemon: Cannot start container 317bcef4837ad90112a9021012f243bdf92e594h file or directory
# docker -d
WARN[0000] You are running linux kernel version 2.6.32-358.6.2.el6.x86_64, which might be pgrade your kernel to 3.10.0.
# yum install http://www.elrepo.org/elrepo-release-6-5.el6.elrepo.noarch.rpm
# yum --enablerepo=elrepo-kernel install kernel-lt -y

新安裝的核心已經自動寫入了grub.conf檔案,只需修改Grub引導順序,重啟即可
# sed -i 's/default=1/default=0/' /etc/grub.conf

這裡寫圖片描述
核心已經更新

# uname -a
Linux localhost.localdomain 3.10.102-1.el6.elrepo.x86_64 #1 SMP Tue Jun 14 11:40:50 EDT 20

列出images

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos              latest              d83a55af4e75        2 weeks ago         196.7 MB
# yum install febootstrap
# mkdir /dockerimg/centos6.5  建立映象檔案儲存目錄
# febootstrap -i bash -i wget -i yum -i iputils -i iproute -i man -i vim -i openssh-server -i openssh-clients -i tar -i p7zip -i net-tools  centos6.5 /dockerimg/centos6.5 http://vault.centos.org/6.5/os/x86_64/
-i指定安裝的包     centos6.5標識OS版本
# cp /etc/skel/.bash* /dockerimg/centos6.5/root/
# cd /dockerimg/centos6.5
# tar -c .|docker import - centos6.5   匯入映象檔案
63a8a89d802130fa35f0661402bf776069dcfd2cf83da553d4874c6a6c7ad056
# docker images   已經成功匯入,使用docker run命令就可以基於centos6.5建立容器使用了
REPOSITORY          TAG                 IMAGE ID            CREATED              VIRTUAL SIZE
centos6.5           latest              63a8a89d8021        About a minute ago   372 MB