Linux之CentOS的Docker安装

docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目。它基于 Google 公司推出的 Go 语言实现。 项目后来加入了 Linux 基金会,遵从了 Apache 2.0 协议,项目代码在 GitHub 上进行维护。

Docker 自开源后受到广泛的关注和讨论,以至于 dotCloud 公司后来都改名为 Docker Inc。Redhat 已经在其 RHEL6.5 中集中支持 Docker;Google 也在其 PaaS 产品中广泛应用。

Docker 项目的目标是实现轻量级的操作系统虚拟化解决方案。 Docker 的基础是 Linux 容器(LXC)等技术。在 LXC 的基础上 Docker 进行了进一步的封装,让用户不需要去关心容器的管理,使得操作更为简便。用户操作 Docker 的容器就像操作一个快速轻量级的虚拟机一样简单。

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。最重要的是,他们不依赖于任何语言、框架或包装系统。


值得关注的特性:

文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。

资源隔离:系统资源,像CPU和内存等可以分配到不同的容器中,使用cgroup。

网络隔离:每个进程容器运行在自己的网络空间,虚拟接口和IP地址。

日志记录:Docker将会收集和记录每个进程容器的标准流(stdout/stderr/stdin),用于实时检索或批量检索。

变更管理:容器文件系统的变更可以提交到新的映像中,并可重复使用以创建更多的容器。无需使用模板或手动配置。

交互式shell:Docker可以分配一个虚拟终端并关联到任何容器的标准输入上,例如运行一个一次***互shell。


一、centos编译安装docker

1、升级内核到4.3

yum install -y make gcc gcc-c++ openssl openssl--devel ncurses ncurses-devel bc
wget http://mirrors.dwhd.org/Kernel/v4.x/linux-4.3.tar.xz
tar xf linux-4.3.tar.xz -C /usr/src/
cd /usr/src/linux-4.3/
cp /boot/config-`uname -r` .config
sh -c 'yes "" | make oldconfig'
# make menuconfig  ###自定义需要编译的选项
# scripts/kconfig/mconf Kconfig    ###自定义需要编译的选项
make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` bzImage
make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` modules
make -j `awk '/processor/{a++}END{print a}' /proc/cpuinfo` modules_install
make install
# make mrproper  ###编译出错重新编译需要做清除处理
sed -ri 's/(default=).*/\10/' /boot/grub/grub.conf
reboot
uname -a


2、关闭SELinux

sed -ri 's/^#?((\s+)?SELINUX(TYPE)?.*)/#\1/;$a SELINUX=disabled\nSELINUXTYPE=targeted' /etc/sysconfig/selinux
/usr/sbin/setenforce 0


3、编译高版本git

yum -y remove git
yum -y install zlib-devel perl-CPAN gettext curl-devel expat-devel gettext-devel openssl-devel
wget http://mirrors.dwhd.org/Git/git-2.6.3.tar.xz
tar xf git-2.6.3.tar.xz 
cd git-2.6.3
./configure --prefix=/usr/local
make -j $(awk '/processor/{i++}END{print i}' /proc/cpuinfo) && make install && cd ..
echo "PATH=/usr/local/bin:\$PATH" >/etc/profile.d/git.sh
. /etc/profile.d/git.sh
which git
/usr/local/bin/git
git --version


4、检测iptables版本 xz版本和ps命令,iptables≥1.4,xz≥4.9

which ps
iptables -V
xz -V


5、安装cgroup

yum install -y libcgroup libcgroup-devel libcgroup-pam


6、安装go

wget https://storage.googleapis.com/golang/go1.5.linux-amd64.tar.gz
tar xf go1.5.linux-amd64.tar.gz -C /usr/local/
echo "export GOROOT=/usr/local/go
export PATH=\$PATH:\$GOROOT/bin
export GOPATH=/home/go" >/etc/profile.d/go.sh
. /etc/profile.d/go.sh
which go
/usr/local/go/bin/go
go version



二、YUM安装docker在CentOS7系统上


centos7.x安装docker

rpm -Uvh http://dl.Fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum -y install docker-io                      # 仅此一条命令就可以搞定;
service docker start                          # 启动docker
chkconfig docker on

                           # 加入开机启动


另外一种:

yum clean all
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
yum makecache
yum install -y docker-engine
systemctl start docker.service
systemctl enable docker.service 
ln -s '/usr/lib/systemd/system/docker.service' '/etc/systemd/system/multi-user.target.wants/docker.service'
systemctl status docker.service 
docker run hello-world


Ubuntu安装

1、更新Ubuntu内核

使用如下命令行更新内核至3.8.0-25

sudo apt-get install linux-image-3.8.0-25-generic
sudo apt-get install linux-headers-3.8.0-25-generic

完成后重启电脑,通过命令 “uname -r” 来查看内核是否成功更新。


2、安装lxc-docker

sudo apt-get install software-properties-common #增加 add-apt-repository 命令
sudo apt-get install python-software-properties 
sudo add-apt-repository ppa:dotcloud/lxc-docker #增加一个ppa源,如:ppa:user/ppa-name
sudo apt-get update #更新系统
sudo apt-get install lxc-docker


你可能感兴趣的:(docker)