设为首页 收藏本站
查看: 1084|回复: 0

[经验分享] Linux之CentOS的Docker安装

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2015-11-30 10:19:47 | 显示全部楼层 |阅读模式
                      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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
1
2
sed -ri 's/^#?((\s+)?SELINUX(TYPE)?.*)/#\1/;$a SELINUX=disabled\nSELINUXTYPE=targeted' /etc/sysconfig/selinux
/usr/sbin/setenforce 0




3、编译高版本git
1
2
3
4
5
6
7
8
9
10
11
12
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
1
2
3
which ps
iptables -V
xz -V




5、安装cgroup
1
yum install -y libcgroup libcgroup-devel libcgroup-pam




6、安装go
1
2
3
4
5
6
7
8
9
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
1
2
3
4
rpm -Uvh http://dl.Fedoraproject.org/pub/ ... ease-6-8.noarch.rpm
yum -y install docker-io                      # 仅此一条命令就可以搞定;
service docker start                          # 启动docker
chkconfig docker on



                           # 加入开机启动


另外一种:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
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
1
2
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
1
2
3
4
5
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




                   


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-145274-1-1.html 上篇帖子: Dockerfile 下篇帖子: docker 多网桥 Linux
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表