gentoo下安装docker

       gentoo是一个高度定制化的系统,太灵活以至于对于新手来说很难上手。如果很不幸维护到这种系统,又想快速在上面部署应用,此时docker就是一个很好的解决方案。docker可以快速部署应用而不需要关心应用的依赖问题。当然纯粹使用docker部署些的应用只适用于小规模访问的应用,对于高并发,大规模访问的应用还是考虑kubernetes部署集群吧。

查看内核版本:

docker官方说docker要求内核版本3.8,建议3.10以上。对于因为只能通过升级gentoo的内核版本才能实现,升级内核是有风险的,有可能导致系统启动不来。升级内核的同时要勾选docker所要求的的内核模块。高版本gentoo可能以下有些模块没有了或者被替代了,编译内核的时候如果找不到以下部分内核模块也可以忽略。

如果内核满足要求请直接跳到第二部分。

wiki上说的docker要求的内核模块。

gentoo下安装docker_第1张图片

 

gentoo下安装docker_第2张图片

gentoo下安装docker_第3张图片

一:内核升级部分

以下演示如何升级gentoo内核:

gentoo下安装docker_第4张图片

更新包管理工具:

$ emerge-webrsync
$ emerge gentoo-sources

 

下载内核

 

$ eselect  kernel

 

查看系统内的内核列表。

 

gentoo下安装docker_第5张图片

切换内核:

配置内核参数:

参数列表参考以下链接。

https://wiki.gentoo.org/wiki/Docker

内核重新编译安装。

$ genkernel  all

 

挂载分区:

 

$ mount /boot

修改配置文件grub.conf。

$ vi /boot/grub/grub.conf   #

grub.conf 配置文件内容如下(升级后的内核版本为4.9.95):

gentoo下安装docker_第6张图片

修改配置文件/boot/grub/menu.lst,同上。

gentoo下安装docker_第7张图片

重启系统。

$ reboot

 

二:docker安装。

1.更新portage树(软件包管理系统)

# emerge --sync

安装之前把配置清一遍:

# dispatch-conf   //按u然后按q

2.查找可用的docker安装包,有Masked标志的是表示不稳定的软件包。默认安装没带Masked的软件包。

# emerge -S docker

gentoo下安装docker_第8张图片

3.使用emerge(portage字符界面管理工具)计算docker依赖。[ebuild N] 标志的都是依赖软件。

emerge  -pv   app-emulation/docker

gentoo下安装docker_第9张图片

4.逐个安装依赖(以下),红色表示必要的扩展,绿色表示可选的扩展,“-”号代表要移去的扩展标志。

使用"= " 安装特定版本的软件。

#  USE="(-gccgo)" emerge "=dev-lang/go-1.10.3:0/1.10.3::gentoo"
#  emerge  "=app-emulation/docker-proxy-0.8.0_p20180411::gentoo"
# emerge "=dev-go/blackfriday-1.2_p20150720::gentoo"
#  emerge "=dev-go/sanitized-anchor-name-0_pre20151027::gentoo"
# emerge   "=dev-go/go-md2man-1.0.3::gentoo"

安装一下这个软件有可能报错masked by:package mask,这个报错死说这个包不稳定,那么这个时候就需要在/etc/portage/portage.unmask中将对应的包添加到文件夹中。 如果说

gentoo下安装docker_第10张图片

# USE="ambient seccomp -apparmor -hardened"  emerge "=app-emulation/runc-1.0.0_rc5-r1::gentoo"
#  USE="nls ssl -debug -libressl -static-libs" ABI_X86="(64) -32 (-x32)" emerge  
   "=app-crypt/rhash-1.3.6-r1::gentoo"
# USE="btrfs -hardened"   emerge  "=app-emulation/containerd-1.0.3::gentoo"
# USE="ncurses -doc -emacs -qt5 -server% -system-jsoncpp {-test} (-qt4%)"  emerge  "=dev-util/cmake-3.9.6::gentoo"
# USE="args static"  emerge  "=sys-process/tini-0.16.1::gentoo"

ps:如果在安装依赖过程中带有[blocks B]报错,说明系统中存在和依赖相互冲突的软件包,要先卸载系统中冲突软件包再执行安装即可。

4.安装docker

# emerge  app-emulation/docker

5.将docker放入gentoo启动项。

#  rc-update  add  docker

6.停止或者启动docker

查看docker版本

#  docker --version

#   /etc/init.d/docker  stop       //停止

#  /etc/init.d/docker  start         //启动

 

你可能感兴趣的:(docker,docker-compose,gentoo)