CentOS 7系統編譯和YUM安裝docker

來源:互聯網
上載者:User

一、編譯安裝docker

1、升級核心到4.3
[root@Docaker-Node01 ~]# yum install -y make gcc gcc-c++ openssl openssl--devel ncurses ncurses-devel bc
[root@Docaker-Node01 ~]# wget http://mirrors.dwhd.org/Kernel/v4.x/linux-4.3.tar.xz
[root@Docaker-Node01 ~]# tar xf linux-4.3.tar.xz -C /usr/src/
[root@Docaker-Node01 ~]# cd /usr/src/linux-4.3/
[root@Docaker-Node01 /usr/src/linux-4.3]# cp /boot/config-`uname -r` .config
[root@Docaker-Node01 /usr/src/linux-4.3]# sh -c 'yes "" | make oldconfig'
# make menuconfig  ###自訂需要編譯的選項
# scripts/kconfig/mconf Kconfig    ###自訂需要編譯的選項
[root@Docaker-Node01 /usr/src/linux-4.3]# make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` bzImage
[root@Docaker-Node01 /usr/src/linux-4.3]# make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` modules
[root@Docaker-Node01 /usr/src/linux-4.3]# make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` modules_install
[root@Docaker-Node01 /usr/src/linux-4.3]# make install
# make mrproper  ###編譯出錯重新編譯需要做清除處理
[root@Docaker-Node01 /usr/src/linux-4.3]# sed -ri 's/(default=).*/\10/' /boot/grub/grub.conf
[root@Docaker-Node01 /usr/src/linux-4.3]# reboot
[root@Docaker-Node01 ~]# uname -a
Linux Docaker-Node01.dwhd.org 4.3.0 #1 SMP Wed Nov 11 02:31:25 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
[root@Docaker-Node01 ~]#
2、關閉SELinux
[root@Docaker-Node01 ~]# sed -ri 's/^#?((\s+)?SELINUX(TYPE)?.*)/#\1/;$a SELINUX=disabled\nSELINUXTYPE=targeted' /etc/sysconfig/selinux
[root@Docaker-Node01 ~]# /usr/sbin/setenforce 0
[root@Docaker-Node01 ~]#
3、編譯高版本git
[root@Docaker-Node01 ~]# yum -y remove git
[root@Docaker-Node01 ~]# yum -y install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel
[root@Docaker-Node01 ~]# wget http://mirrors.dwhd.org/Git/git-2.6.3.tar.xz
[root@Docaker-Node01 ~]# tar xf git-2.6.3.tar.xz
[root@Docaker-Node01 ~]# cd git-2.6.3
[root@Docaker-Node01 ~/git-2.6.3]# ./configure --prefix=/usr/local
[root@Docaker-Node01 ~/git-2.6.3]# make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ..
[root@Docaker-Node01 ~]# echo "PATH=/usr/local/bin:\$PATH" >/etc/profile.d/git.sh
[root@Docaker-Node01 ~]# . /etc/profile.d/git.sh
[root@Docaker-Node01 ~]# which git
/usr/local/bin/git
[root@Docaker-Node01 ~]# git --version
git version 2.6.3
[root@Docaker-Node01 ~]#
4、檢測iptables版本 xz版本和ps命令,iptables≥1.4,xz≥4.9
[root@Docaker-Node01 ~]# which ps
/bin/ps
[root@Docaker-Node01 ~]# iptables -V
iptables v1.4.7
[root@Docaker-Node01 ~]# xz -V
xz (XZ Utils) 4.999.9beta
liblzma 4.999.9beta
[root@Docaker-Node01 ~]#
5、安裝cgroup
[root@Docaker-Node01 ~]# yum install -y libcgroup libcgroup-devel libcgroup-pam
6、安裝go
[root@Docaker-Node01 ~]# wget https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz
[root@Docaker-Node01 ~]# tar xf go1.5.linux-amd64.tar.gz -C /usr/local/
[root@Docaker-Node01 ~]# echo "export GOROOT=/usr/local/go
export PATH=\$PATH:\$GOROOT/bin
export GOPATH=/home/go" >/etc/profile.d/go.sh
[root@Docaker-Node01 ~]# . /etc/profile.d/go.sh
[root@Docaker-Node01 ~]# which go
/usr/local/go/bin/go
[root@Docaker-Node01 ~]# go version
go version go1.5 linux/amd64
[root@Docaker-Node01 ~]#
二、YUM安裝docker在CentOS6、7系統上

1、CentOS6
2、CentOS7
[root@docker-node1 ~]# yum clean all
[root@docker-node1 ~]# cat >/etc/yum.repos.d/docker.repo <<-EOF
[dockerrepo]
name=Docker Repository
baseurl=https://yum.dockerproject.org/repo/main/centos/7
enabled=1
gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF
[root@docker-node1 ~]# yum makecache
[root@docker-node1 ~]# yum install -y docker-engine
[root@docker-node1 ~]# systemctl start docker.service
[root@docker-node1 ~]# systemctl enable docker.service
ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service'
[root@docker-node1 ~]# systemctl status docker.service
docker.service - Docker Application Container Engine
   Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled)
   Active: active (running) since 六 2015-11-14 18:23:00 UTC; 27s ago
     Docs: https://docs.docker.com
 Main PID: 1429 (docker)
   CGroup: /system.slice/docker.service
           └─1429 /usr/bin/docker daemon -H fd://

11月 14 18:22:34 docker-node1 systemd[1]: Starting Docker Application Container Engine...
11月 14 18:22:34 docker-node1 docker[1429]: time="2015-11-14T18:22:34.591696381Z" level=info msg="API listen on /var/run/docker.sock"
11月 14 18:22:34 docker-node1 docker[1429]: time="2015-11-14T18:22:34.757829859Z" level=warning msg="Usage of loopback devices is strongly dis...ection."
11月 14 18:23:00 docker-node1 docker[1429]: time="2015-11-14T18:23:00.180124034Z" level=info msg="Firewalld running: true"
11月 14 18:23:00 docker-node1 docker[1429]: time="2015-11-14T18:23:00.276031450Z" level=info msg="Default bridge (docker0) is assigned with an...address"
11月 14 18:23:00 docker-node1 docker[1429]: time="2015-11-14T18:23:00.414386410Z" level=info msg="Loading containers: start."
11月 14 18:23:00 docker-node1 docker[1429]: time="2015-11-14T18:23:00.414649813Z" level=info msg="Loading containers: done."
11月 14 18:23:00 docker-node1 docker[1429]: time="2015-11-14T18:23:00.414665485Z" level=info msg="Daemon has completed initialization"
11月 14 18:23:00 docker-node1 docker[1429]: time="2015-11-14T18:23:00.414678216Z" level=info msg="Docker daemon" commit=76d6bc9 execdriver=nat...on=1.9.0
11月 14 18:23:00 docker-node1 systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
[root@docker-node1 ~]# docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
b901d36b6f2f: Pull complete
0a6ba66e537a: Pull complete
Digest: sha256:8be990ef2aeb16dbcb9271ddfe2610fa6658d13f6dfb8bc72074cc1ca36966a7
Status: Downloaded newer image for hello-world:latest

Hello from Docker.
This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
 1. The Docker client contacted the Docker daemon.
 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
 3. The Docker daemon created a new container from that image which runs the
    executable that produces the output you are currently reading.
 4. The Docker daemon streamed that output to the Docker client, which sent it
    to your terminal.

To try something more ambitious, you can run an Ubuntu container with:
 $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker Hub account:
 https://hub.docker.com

For more examples and ideas, visit:
 https://docs.docker.com/userguide/

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.