摘要:安裝和配置用戶權(quán)限安裝將依賴包上傳到內(nèi)網(wǎng)服務(wù)器指定目錄沒有報(bào)錯驗(yàn)證啟動服務(wù)搞定配置用戶添加一個(gè)用戶,專門管理。千萬不要圖省事,服務(wù)器上直接用管理容器可以安裝又被坑了安裝完都自帶,版本的居然不帶。
序
題記:搞定了就是故事,搞不定就是事故。
條件有限,開局只有一臺開發(fā)機(jī),要跑5套子系統(tǒng)組成的項(xiàng)目群。還要有一些輔助和驗(yàn)證的系統(tǒng)要跑在這上面。從配置來看,要想順暢開心地完成項(xiàng)目群基礎(chǔ)環(huán)境支撐,考慮引入資源消耗1/200的神器Docker:更難得是絲毫不用擔(dān)心環(huán)境污染、版本沖突、以及突然開發(fā)服務(wù)器搞崩潰了;
吐槽避免采坑實(shí)際上可能要跑的系統(tǒng)和輔助系統(tǒng)遠(yuǎn)超預(yù)計(jì)
申請的是4C/8G的PC server,后來查命令是1C/2G,10G空間,果斷申請擴(kuò)容了
邊干邊寫:整了四周;期間無數(shù)次崩潰,還要應(yīng)對乙方內(nèi)部的質(zhì)疑,不知道自己是如何堅(jiān)持下來的
MacBook 上docker環(huán)境起了 CentOS7.2 容器,在容器中模擬離線安裝 Docker 環(huán)境(盜夢空間)
安裝很成功,按官方教程啟動服務(wù)時(shí),崩潰到懷疑人生:
命令”systemctl start docker”報(bào)錯:”docker Failed to get D-Bus connection”
CentOS 從7開始,安全考慮,容器內(nèi)默認(rèn)不加載D-Bus:直接影響就是 systemctl 不能起服務(wù);
github 支招:加容器特權(quán)參數(shù) –privileged ,啟動非常之慢,不建議踩坑;參考鏈接
Docker 官方支招:自己編譯帶 systemctl 服務(wù)的鏡像 參考鏈接,
然而我沒能測試成功在容器中啟動 docker daemo
其他服務(wù)沒嘗試,感興趣的可自行研究
放棄在容器中使用 systemctl 啟動 Docker 鏡像服務(wù)
第二周換 Redhad7.2鏡像還是報(bào)同樣的錯誤:直接報(bào)缺5~8個(gè)一級依賴包
后來分析不是CentOS和Redhad不同步,應(yīng)該是甲方提供的CentOS源或系統(tǒng)優(yōu)化或缺了一些默認(rèn)的包;
第三周寄希望于甲方提供的內(nèi)網(wǎng)源協(xié)調(diào)再三給掛了源:是一個(gè)docker集群監(jiān)控的源;溝通不暢,不認(rèn)為掛錯了源;
甲方老師又忙。暫停修整了一周;
第四周重整旗鼓再三協(xié)調(diào)之后,放棄等待甲方老師的支援。決定還是自己搞。不就是一些一級依賴么,補(bǔ)全就是!
主要是我方火力太猛:
再不出活,無顏面對向兄弟們:雖然不上這些,采用笨辦法也能干,但總歸不忍
再不交付,無法上得臺面解釋:
自己選擇的牛皮,哭著也要吹完,吹完美
搞定。想來想去,還是毛選里的那句話支撐了我:
自力更生,艱苦奮斗!
最近在看一行禪師的《佛陀傳》,希望能從中汲取心靈的力量。《天龍八部》里掃地僧也曾說過:
只有佛法越高,慈悲之念越盛,武功絕技才能練得越我
或許我輩須工作中修行,也是這個(gè)道理!
采坑記對,就是采坑。以下是從草稿中摘取的部分嘗試:
編號 | 容器 |
---|---|
1 | docker run -it –name dc7 ailyfeng/centos7.2.1511 /bin/bash |
2 | docker run -it –name dc88 sssllc/centos7.2-jdk1.8 /bin/bash |
3 | docker run -it –name ct7 centos /bin/bash |
4 | docker run -it –privileged –name dc99 sssllc/centos7.2-jdk1.8 |
5 | docker build –rm -t centos:systemd . && docker run -it –name dr7 centos:systemd |
6 | docker run -it –name dr18 yjjy0921/redhat7.2 /bin/bash |
ldd 應(yīng)該是 linux 通用的命令;rpm 和 repotrack 貌似是 CentoOS 的專有命令;
編號 | 命令 | 舉例 | 作用 |
---|---|---|---|
1 | ldd | ldd wkhtmltopdf | not found的就是對應(yīng)的依賴包不存在,適用于二進(jìn)制包(wkhtmltopdf)的命令;而需要安裝的命令(docker-ce)只能通過安裝報(bào)錯來捕獲缺失的依賴了 |
2 | rpm -ql | rpm -ql docker-ce | 查看安裝的時(shí)候有哪些命令在PATH下,用這些命令去啟動 |
3 | repotrack | repotrack -a x86_64 -p /usr/local/yumrepo | 打包下載指定架構(gòu)(X86_63)所有的依賴到指定目錄 |
本地 pull一個(gè)CentOS7.2的鏡像
只下載 Docker及其依賴不安裝
安裝驗(yàn)證
考慮用戶及用戶組賦權(quán)
cp 至服務(wù)器嘗試
安裝 docker 內(nèi)網(wǎng) Linux 基礎(chǔ)依賴要安裝 Docker 基礎(chǔ)環(huán)境,必須滿足:
Linux 內(nèi)核必須大于3.10:登錄內(nèi)網(wǎng)服務(wù)器看了看,恰好3.10。夠用,就不折騰了;
需要支持 device-mapper:已支持
[root@pms tmp] uname -r 3.10.0-327.e17.x86_64 [root@pms tmp] ls -l /sys/class/misc/device-mapper lrwxrwxrwx. 1 root root 0 May 20 16:17 /sys/class/misc/device-mapper -> ../../devices/virtual/misc/device-mapper環(huán)境模擬
MacBook 上,起 CentOS7.2 容器,來驗(yàn)證思路;
拉取鏡像,創(chuàng)建 repo 目錄ChinaDreams:~ kangcunhua$ docker run -it --name dc88 sssllc/centos7.2-jdk1.8 /bin/bash [root@7d935562e0ae /]# java -version java version "1.8.0_111" Java(TM) SE Runtime Environment (build 1.8.0_111-b14) Java HotSpot(TM) 64-Bit Server VM (build 25.111-b14, mixed mode) [root@7d935562e0ae /]# yum repo list Loaded plugins: fastestmirror, ovl No such command: repo. Please use /usr/bin/yum --help [root@7d935562e0ae /]# [root@7d935562e0ae /]# yum repolist ... [root@7d935562e0ae home]# cd /usr/local/ root@7d935562e0ae local]# mkdir yumrepo下載所需離線包
[root@7d935562e0ae local]# cd yumrepo/ [root@7d935562e0ae yumrepo]# yum install --downloadonly --downloaddir=/usr/local/yumrepo/ docker安裝 createrepo
[root@7d935562e0ae yum.repos.d]# yum install createrepo -y新建 docker.repo
[root@7d935562e0ae yum.repos.d]# pwd /etc/yum.repos.d [root@7d935562e0ae yum.repos.d]# vi docker.repo
docker.repo
[docker-yum] name=dockeryum baseurl=file:///usr/local/yumrepo enable=1 gpgcheck=0生成 repo 索引
主要是將索引生成在/usr/local/yumrepo/repodata目錄
[root@7d935562e0ae yum.repos.d]# createrepo /usr/local/yumrepo/ [root@7d935562e0ae yum.repos.d]# cd /usr/local/yumrepo/ [root@7d935562e0ae yumrepo]# ls ..... docker-client-1.13.1-53.git774336d.el7.centos.x86_64.rpm repodata .....安裝 docker 并驗(yàn)證
[root@7d935562e0ae yumrepo]# yum --disablerepo=* --enablerepo=docker-yum install docker -y [root@7d935562e0ae yumrepo]# docker -v Docker version 1.13.1, build 774336d/1.13.1嘗試啟動 Hello-world
此時(shí)會報(bào)錯:提示 docker daemon 沒有啟動;
[root@7d935562e0ae /]# docker run hello-world /usr/bin/docker-current: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?. See "/usr/bin/docker-current run --help".啟動 docker 守護(hù)進(jìn)程
使用sysytemctl啟動服務(wù)。此時(shí)會報(bào)錯,是CentOS7.2容器的“安全”考慮,沒有啟動D-Bus:雖然不那么友好;
[root@7d935562e0ae /]# systemctl start docker Failed to get D-Bus connection: Operation not permitted
在能查到的資料里,即使是官方,也沒有說明 Docker Daemon 的守護(hù)命令放置在哪兒,以便我們能直接運(yùn)行;
后續(xù)在安裝 Docker-CE 時(shí)我找到了這個(gè)命令:使用rpm -ql docker 查找該軟件安裝時(shí)在 PATH 下有哪些命令可以運(yùn)行,成功找到了 Docker Daemon 所在:/usr/bin/dockerd 。詳見文末參考;
直接運(yùn)行/usr/bin/dockerd[root@7d935562e0ae /]# /usr/bin/dockerd INFO[2018-05-22T11:55:22.811053980Z] libcontainerd: started new docker-containerd process pid=53 INFO[0000] starting containerd module=containerd revision=773c489c9c1b21a6d78b5c538cd395416ec50f88 version=v1.0.3 ERRO[0000] failed to change OOM score to -500 error="write /proc/53/oom_score_adj: permission denied" module=containerd ....
仍舊報(bào)錯,但至少驗(yàn)證了離線安裝的思路是正確的。只是在 CentOS7.2 容器中無法啟動 Docker 守護(hù)進(jìn)程;
結(jié)論經(jīng)過數(shù)輪的嘗試,我們可以得出結(jié)論:
驗(yàn)證了離線安裝的思路是正確的
CentOS7.2 以及 RedHat7.2 容器中可以安裝 docker 基礎(chǔ)環(huán)境
CentOS7.2 以及 RedHat7.2 容器中無法啟動 Docker 守護(hù)進(jìn)程
容器中無法啟動 Docker 守護(hù)進(jìn)程的事,不影響我們的實(shí)驗(yàn)?zāi)繕?biāo)
默認(rèn) yum install docker 的版本是 docker:Docker version 1.13.1
現(xiàn)在 Docker 已變成 Docker-CE:18.03.1-ce,需要驗(yàn)證離線安裝 Docker-CE
安裝 Docker-CE梳理思路,重來
選擇 centos7.2 基礎(chǔ)鏡像
配置 docker-ce 源
選擇 downloadonly 的參數(shù)下載 docker-ce 及其依賴
配置本地源
指定本地源安裝 docker-ce
條件有限,就不容器中起 docker 服務(wù)了
進(jìn)內(nèi)網(wǎng),驗(yàn)證
ChinaDreams:docker-systemctl kangcunhua$ docker run -it --name dc18 sssllc/centos7.2-jdk1.8 /bin/bash
[root@557a4e0c3e7e /]#
ChinaDreams:docker-systemctl kangcunhua$ docker run -it --name dc18 sssllc/centos7.2-jdk1.8 /bin/bash [root@557a4e0c3e7e /]#配置 docker-ce 源
如果不配置 docker-ce 源,默認(rèn)安裝的是 docker1.13。大概是兩年前的版本了。后續(xù) docker 官方將社區(qū)版本命名為 docker-ce。所以安裝新版本,還是要配置下 yum 源的:這里強(qiáng)烈建議配置國內(nèi)的,速度快。
[root@557a4e0c3e7e /]# yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo
配置后, yum search docker-ce 可以搜索到了。這時(shí)候就可以下載到指定位置:為了后續(xù)離線安裝;
下載不安裝:為了驗(yàn)證離線[root@557a4e0c3e7e /]# cd /usr/local [root@557a4e0c3e7e local]# mkdir yumrepo [root@557a4e0c3e7e local]# yum install --downloadonly --downloaddir=/usr/local/yumrepo/ docker-ce配置 docker 本地源 建立索引
先安裝本地 repo 索引創(chuàng)建工具,通過這個(gè)工具,建立索引:就是本地安裝包所在目錄下的 repodata 目錄;
[root@557a4e0c3e7e yumrepo]# yum install createrepo -y [root@557a4e0c3e7e yumrepo]# createrepo /usr/local/yumrepo/創(chuàng)建源文件 docker.repo
[root@557a4e0c3e7e yumrepo]# cd /etc/yum.repos.d [root@557a4e0c3e7e yum.repos.d]# vi docker.repo [root@557a4e0c3e7e yum.repos.d]# more docker.repo [docker-yum] name=dockeryum baseurl=file:///usr/local/yumrepo enable=1 gpgcheck=0模擬離線安裝
yum --disablerepo=* --enablerepo=docker-yum install docker-ce -y驗(yàn)證安裝成功
[root@557a4e0c3e7e yum.repos.d]# docker -v Docker version 18.03.1-ce, build 9ee9f40啟動 dockerd,報(bào)錯
這個(gè)是因?yàn)槿萜髦杏謫恿?Docker daemon。部分報(bào)錯日志節(jié)選:
[root@557a4e0c3e7e /]# docker -v Docker version 18.03.1-ce, build 9ee9f40 [root@557a4e0c3e7e /]# /usr/bin/dockerd ... ERRO[0000] failed to change OOM score to -500 error="write /proc/53/oom_score_adj: permission denied" module=containerd ... address="/var/run/docker/containerd/docker-containerd.sock" module="containerd/grpc" INFO[0000] containerd successfully booted in 0.029058s module=containerd ERRO[2018-05-22T11:55:23.265326880Z] "overlay2" is not supported over aufs ... WARN[2018-05-22T11:55:23.353577680Z] Running modprobe xt_conntrack failed with message: ``, error: exit status 1 Error starting daemon: Error initializing network controller: error obtaining controller instance: failed to create NAT chain DOCKER: iptables failed: iptables -t nat -N DOCKER: iptables v1.4.21: can"t initialize iptables table `nat": Permission denied (you must be root) Perhaps iptables or your kernel needs to be upgraded. (exit status 3)Copy 資源出來
ChinaDreams:Desktop kangcunhua$ docker cp dc18:/usr/local/yumrepo . ChinaDreams:Desktop kangcunhua$ docker cp dc18:/etc/yum.repos.d/docker.repo .結(jié)論
驗(yàn)證離線安裝 Docker-CE 思路成功;
容器中仍舊無法啟動 Docker daemon;
內(nèi)網(wǎng)離線實(shí)戰(zhàn)copy 資源到內(nèi)網(wǎng),通過 ssh 將依賴包傳到服務(wù)器;
登錄服務(wù)器yumrepo 放置到 /usr/local/ 目錄下
docker.repo 放置到 /etc/yum.repo.d/ 目錄下
因?yàn)橐呀?jīng)生成過索引了,所以無需再次運(yùn)行 create repo
驗(yàn)證 docker 本地源[root@pma03 ~]# yum repolist #可以成功查看到docker-yum離線安裝
[root@pma03 ~]# yum --disablerepo=* --enablerepo=docker-yum install docker-ce -y
報(bào)錯,缺依賴包;docker-ce相關(guān)依賴包已經(jīng)全了,只是有一些CentOS依賴的包版本比docker-ce低,內(nèi)網(wǎng)系統(tǒng)可能優(yōu)化精簡“過”了,或基礎(chǔ)軟件不完整,導(dǎo)致這些低版本和高版本不能和諧共處;只能根據(jù)報(bào)錯信息,去筆記本下載依賴;報(bào)錯信息和分析詳見文末:“附:依賴包沖突和解決”;
解決依賴依舊是回到個(gè)人筆記本,聯(lián)網(wǎng)下載依賴包:
ChinaDreams:~ kangcunhua$ docker start dc7 dc7 [root@ce27b30d0d9e /]# yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo [root@ce27b30d0d9e /]# yum clean all [root@ce27b30d0d9e /]# yum makecache
共計(jì)嘗試兩次,使用如下命令,下載補(bǔ)全系統(tǒng)依賴包:
編號 | 命令 |
---|---|
1 | repotrack -a x86_64 -p /usr/local/yumrepo docker-ce |
2 | repotrack -a x86_64 -p /usr/local/yumrepo glibc-2.17-105.e |
3 | repotrack -a x86_64 -p /usr/local/yumrepo systemd-sysv |
4 | repotrack -a x86_64 -p /usr/local/yumrepo dracut-network |
5 | repotrack -a x86_64 -p /usr/local/yumrepo libgudev1 |
6 | repotrack -a x86_64 -p /usr/local/yumrepo dracut-config-rescue |
7 | repotrack -a x86_64 -p /usr/local/yumrepo systemd-python |
8 | repotrack -a x86_64 -p /usr/local/yumrepo libstdc++ |
9 | repotrack -a x86_64 -p /usr/local/yumrepo glibc-headers |
10 | repotrack -a x86_64 -p /usr/local/yumrepo pcre-devel |
11 | repotrack -a x86_64 -p /usr/local/yumrepo gcc-c++ |
12 | repotrack -a x86_64 -p /usr/local/yumrepo glibc-devel |
13 | repotrack -a x86_64 -p /usr/local/yumrepo libtool-ltdl |
14 | repotrack -a x86_64 -p /usr/local/yumrepo libselinux-devel |
15 | repotrack -a x86_64 -p /usr/local/yumrepo libsepol-devel |
保證這些依賴包,不會導(dǎo)致安裝失敗。
[root@ce27b30d0d9e /]# yum --disablerepo=* --enablerepo=docker-yum install docker -y安裝和配置用戶權(quán)限 安裝
將依賴包上傳到內(nèi)網(wǎng)服務(wù)器指定目錄/usr/local/yumrepo ;
[root@pma03 ~]# yum --disablerepo=* --enablerepo=docker-yum install docker-ce -y
沒有報(bào)錯!
驗(yàn)證[root@pma03 ~]# docker -v Docker version 18.03.1-ce, build 9ee9f40啟動服務(wù)
[root@pma03 ~]# systemctl start docker
搞定!
配置用戶添加一個(gè)用戶dev,專門管理docker。千萬不要圖省事,服務(wù)器上直接用root管理docker;容器可以;
[root@pma03 ~]# cat /etc/group [root@pma03 ~]# cat /etc/group | grep docker [root@pma03 ~]# more /etc/passwd [root@pma03 ~]# gpasswd -a dev docker [root@pma03 ~]# useradd -g docker dev [root@pma03 ~]# passwd dev [root@pma03 ~]# chmod -v u+w /etc/sudoers [root@pma03 ~]# vi /etc/sudoers [root@pma03 ~]# chomod -v u-w /etc/sudoers [root@pma03 ~]# systemctl restart docker [root@pma03 ~]# docker -v [root@pma03 ~]# docker info [root@pma03 ~]# su dev [dev@pma03 ~]#安裝 docker-compose
又被坑了:docker for Mac、docker for windows 安裝完都自帶 docker-compose,linux 版本的 docker-ce 居然不帶。想起來離線安裝各種坑就頭大,網(wǎng)上查了半天資料,居然是個(gè) python 工具,要先安裝 pip,o No!只好翻到 github,看看能不能源碼編譯安裝。結(jié)果看到有 release 的下載,猜想可以直接使用。后來用下載后的文件百度,果然翻到一篇指南,可以這樣搞:
方法四:離線安裝筆記本驗(yàn)證先下載 docker-compose-Linux-x86_64,然后重新命名添加可執(zhí)行權(quán)限即可:
ChinaDreams:Desktop kangcunhua$ docker cp ./docker-compose-Linux-x86_64.dms dc18:/usr/local/bin/docker-compose進(jìn)入容器
[root@557a4e0c3e7e /]# cd /usr/local/bin/ [root@557a4e0c3e7e bin]# ls docker-compose [root@557a4e0c3e7e bin]# chmod +x /usr/local/bin/docker-compose [root@557a4e0c3e7e bin]# docker-compose -v docker-compose version 1.21.2, build a133471內(nèi)網(wǎng)安裝 docker-compose
同樣把安裝包 copy 進(jìn)內(nèi)網(wǎng),ssh 上傳到服務(wù)器
cp 重命名到指定目錄
賦予執(zhí)行權(quán)限
賦予 dev:docker 也有執(zhí)行權(quán)限
[root@pma03 ~]# cd /usr/local/bin/ [root@pma03 bin]# cp /home/dev/docker-images/docker-compose-Linux-x86_64.dms docker-compose [root@pma03 bin]# chmod +x ./docker-compose [root@pma03 bin]# docker-compose -v [root@pma03 bin]# chown -R dev:docker ./docker-compose [root@pma03 bin]# su dev [dev@pma03 ~]# docker-compose -v
搞定!
后續(xù)后續(xù)要做的事情就簡單了:
從筆記本上 pull 鏡像,然后導(dǎo)出
copy 到內(nèi)網(wǎng)上傳到服務(wù)器,導(dǎo)入
docker run 起鏡像
docker-compose 起多個(gè)鏡像
盡情 happy 吧!
附:依賴包沖突和分析內(nèi)網(wǎng)離線安裝碰上的依賴包問題和分析
報(bào)錯yun install docker-ce 時(shí),提示有依賴包版本沖突 or 缺失;
Error: Package: systemd-sysv-219-19.el7.x86_64 (@anaconda) Requires: systemd = 219-19.el7 Removing: systemd-219-19.el7.x86_64 (@anaconda) systemd = 219-19.el7 Updated By: systemd-219-42.el7_4.4.x86_64 (localyum) systemd = 219-42.el7_4.4 Error: Package: dracut-network-033-359.el7.x86_64 (@anaconda) Requires: dracut = 033-359.el7 Removing: dracut-033-359.el7.x86_64 (@anaconda) dracut = 033-359.el7 Updated By: dracut-033-502.el7.x86_64 (localyum) dracut = 033-502.el7 Error: Package: libgudev1-219-19.el7.x86_64 (@anaconda) Requires: systemd-libs = 219-19.el7 Removing: systemd-libs-219-19.el7.x86_64 (@anaconda) systemd-libs = 219-19.el7 Updated By: systemd-libs-219-42.el7_4.4.x86_64 (localyum) systemd-libs = 219-42.el7_4.4 Error: Package: dracut-config-rescue-033-359.el7.x86_64 (@anaconda) Requires: dracut = 033-359.el7 Removing: dracut-033-359.el7.x86_64 (@anaconda) dracut = 033-359.el7 Updated By: dracut-033-502.el7.x86_64 (localyum) dracut = 033-502.el7 Error: Package: systemd-python-219-19.el7.x86_64 (@anaconda) Requires: systemd = 219-19.el7 Removing: systemd-219-19.el7.x86_64 (@anaconda) systemd = 219-19.el7 Updated By: systemd-219-42.el7_4.4.x86_64 (localyum) systemd = 219-42.el7_4.4 You could try using --skip-broken to work around the problem You could try running: rpm -Va --nofiles --nodigest
看到報(bào)錯的時(shí)候,內(nèi)心是崩潰的。最后還是收拾心情,逐一解決了。
網(wǎng)上唯一可以找到的資料就是這篇離線安裝docker包沖突,報(bào)錯信息一模一樣,但是帖子沒有給出確定的原因和解決辦法;但是給予了我信心,確實(shí)不是因?yàn)镃entOS7.2和Redhat7.2有底層不同,導(dǎo)致的這些錯誤,這樣是無力解決的;后續(xù)解決完依賴后,我猜測原因是,甲方提供的Redhat或CentOS,默認(rèn)軟件包安裝的有問題:做了一些精簡“優(yōu)化”處理不了部分依賴包沖突;
后續(xù)找到了這篇文章:CentOS7.2離線安裝docker-ce最新版,文中指出Docker需要的部分軟件包版本要高于CentOS7;就是說同樣的軟件包,Docker依賴的高版本的,但是CentOS依賴低版本的;解決辦法就是找到他們,全部安裝上去;
下載 libgudev1 和 systemd-sysv,是因?yàn)?centos7.2 的 libgudev1 和 systemd-sysv 依賴 systemd-219-19.el7.x86_64,而 docker-ce 需要 systemd-219-30el7.x86_64.再次嘗試
repotrack -a x86_64 解決上述依賴后(命令詳見正文:解決依賴),copy 進(jìn)內(nèi)網(wǎng),再次嘗試安裝 Docker-CE。
Error: Package: systemd-sysv-219-19.el7.x86_64 (@anaconda) Requires: systemd = 219-19.el7 Removing: systemd-219-19.el7.x86_64 (@anaconda) systemd = 219-19.el7 Updated By: systemd-219-42.el7_4.4.x86_64 (localyum) systemd = 219-42.el7_4.4 Error: Package: dracut-network-033-359.el7.x86_64 (@anaconda) Requires: dracut = 033-359.el7 Removing: dracut-033-359.el7.x86_64 (@anaconda) dracut = 033-359.el7 Updated By: dracut-033-502.el7.x86_64 (localyum) dracut = 033-502.el7 Error: Package: libgudev1-219-19.el7.x86_64 (@anaconda) Requires: systemd-libs = 219-19.el7 Removing: systemd-libs-219-19.el7.x86_64 (@anaconda) systemd-libs = 219-19.el7 Updated By: systemd-libs-219-42.el7_4.4.x86_64 (localyum) systemd-libs = 219-42.el7_4.4 Error: Package: dracut-config-rescue-033-359.el7.x86_64 (@anaconda) Requires: dracut = 033-359.el7 Removing: dracut-033-359.el7.x86_64 (@anaconda) dracut = 033-359.el7 Updated By: dracut-033-502.el7.x86_64 (localyum) dracut = 033-502.el7 Error: Package: systemd-python-219-19.el7.x86_64 (@anaconda) Requires: systemd = 219-19.el7 Removing: systemd-219-19.el7.x86_64 (@anaconda) systemd = 219-19.el7 Updated By: systemd-219-42.el7_4.4.x86_64 (localyum) systemd = 219-42.el7_4.4
解決辦法就是繼續(xù)回到筆記本聯(lián)網(wǎng)下載這些依賴包;詳見:“解決依賴”;
參考直接安裝 rpm 包容器特權(quán)–privileged可以的,直接敲 “rpm -ivh 包名”但是有些rpm包是有依賴性的,可以在命令尾端添加 “–force
–nodeps”,“–force”指強(qiáng)制“,”–nodeps“指不查找依賴性比如”rpm -ivh *.rpm –force
—nodeps“,同時(shí),也可以使用yum命令,會自動解決包依賴的關(guān)系,能便于管理大量系統(tǒng)的更新問題,建議使用
yum
Runtime privilege, Linux capabilities, and LXC configuration我嘗試了下,啟動非常之慢:不推薦–cap-add : Add Linux capabilities
–cap-drop : Drop Linux capabilities
–privileged=false : Give extended privileges to this container
–device=[] : Allows you to run devices inside the container without
the –privileged flag.–lxc-conf=[] : (lxc exec-driver only) Add custom lxc options
–lxc-conf=”lxc.cgroup.cpuset.cpus = 0,1”默認(rèn)情況下,Docker的容器是沒有特權(quán)的,例如不能在容器中再啟動一個(gè)容器。這是因?yàn)槟J(rèn)情況下容器是不能訪問任何其它設(shè)備的。但是通過”privileged”,容器就擁有了訪問任何其它設(shè)備的權(quán)限。
ChinaDreams:~ kangcunhua$ docker run -it --privileged --name dc99 sssllc/centos7.2-jdk1.8 /usr/sbin/init Welcome to CentOS Linux 7 (Core)! [ OK ] Reached target Swap. [ OK ] Created slice Root Slice. [ OK ] Listening on udev Control Socket. [ OK ] Reached target Encrypted Volumes. [ OK ] Listening on udev Kernel Socket. [ OK ] Listening on Delayed Shutdown Socket. [ OK ] Listening on /dev/initctl Compatibility Named Pipe. [ OK ] Reached target Remote File Systems. [ OK ] Created slice User and Session Slice. [ OK ] Created slice System Slice. [ OK ] Created slice system-serialx2dgetty.slice. [ OK ] Reached target Slices. [ OK ] Listening on Journal Socket. Mounting Debug File System... Starting Journal Service... Mounting FUSE Control File System... Starting Apply Kernel Variables... Starting Create Static Device Nodes in /dev... Mounting Huge Pages File System... Starting Setup Virtual Console... [ OK ] Created slice system-getty.slice. Starting Remount Root and Kernel File Systems... [ OK ] Reached target Paths. [ OK ] Mounted FUSE Control File System. [ OK ] Mounted Debug File System. [ OK ] Mounted Huge Pages File System. [ OK ] Started Apply Kernel Variables. [ OK ] Started Setup Virtual Console. [ OK ] Started Create Static Device Nodes in /dev. Starting udev Kernel Device Manager... [ OK ] Started Journal Service. [ OK ] Started udev Kernel Device Manager. [FAILED] Failed to start Remount Root and Kernel File Systems. See "systemctl status systemd-remount-fs.service" for details. [ OK ] Reached target Local File Systems (Pre). Starting Rebuild Hardware Database... Starting Load/Save Random Seed... Starting Flush Journal to Persistent Storage... [ OK ] Reached target Local File Systems. Starting Rebuild Journal Catalog... [ OK ] Started Flush Journal to Persistent Storage. Starting Create Volatile Files and Directories... [ OK ] Started Load/Save Random Seed. [ OK ] Started Rebuild Journal Catalog. [ OK ] Started Create Volatile Files and Directories. Starting Update UTMP about System Boot/Shutdown... [ OK ] Started Update UTMP about System Boot/Shutdown. [ OK ] Started Rebuild Hardware Database. Starting udev Coldplug all Devices... Starting Update is Completed... [ OK ] Started Update is Completed. [ OK ] Started udev Coldplug all Devices. [ OK ] Reached target System Initialization. [ OK ] Reached target Timers. [ OK ] Listening on D-Bus System Message Bus Socket. [ OK ] Reached target Sockets. [ OK ] Reached target Basic System. Starting LSB: Supports the direct execution of binary formats.... Starting Permit User Sessions... [ OK ] Started D-Bus System Message Bus. Starting D-Bus System Message Bus... Starting Login Service... [ OK ] Started Permit User Sessions. Starting Cleanup of Temporary Directories... [ OK ] Started Getty on tty1. Starting Getty on tty1... [ OK ] Started Cleanup of Temporary Directories. [ OK ] Started Login Service. [ OK ] Started LSB: Supports the direct execution of binary formats.. [ TIME ] Timed out waiting for device dev-ttyS0.device. [DEPEND] Dependency failed for Serial Getty on ttyS0. [ OK ] Reached target Login Prompts. [ OK ] Reached target Multi-User System. Starting Update UTMP about System Runlevel Changes... [ OK ] Started Update UTMP about System Runlevel Changes. ^C^C^C^C^C^Ccc/CentOS 安裝 Docker CE
參考鏈接
$ sudo yum-config-manager --add-repo https://mirrors.ustc.edu.cn/docker-ce/linux/centos/docker-ce.repo $ sudo yum-config-manager --enable docker-ce-edge $ sudo yum makecache fast $ sudo yum install docker-ce知識點(diǎn)rpm -ql 軟件包
rpm -ql 軟件包 查看安裝的時(shí)候有哪些命令在 PATH 下,用這些命令去啟動,這個(gè)是一種解決的方法
[root@9c676d901d7b bin]# rpm -ql docker-ce /etc/udev/rules.d/80-docker.rules /usr/bin/docker /usr/bin/docker-containerd /usr/bin/docker-containerd-ctr /usr/bin/docker-containerd-shim /usr/bin/docker-init /usr/bin/docker-proxy /usr/bin/docker-runc /usr/bin/dockerd /usr/lib/systemd/system/docker.service /usr/share/bash-completion/completions/docker
Docker+K8s
本文由作者:蠻大人 ?授權(quán)發(fā)布
鏈接:https://opsdev.fun/2018/05/09...
著作權(quán)歸作者所有。
轉(zhuǎn)載請聯(lián)系作者獲得授權(quán)
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/27634.html
摘要:使用安裝安全高可用集群安裝包地址如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 使用kubeadm安裝安全高可用kubernetes集群 安裝包地址 如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 單個(gè)master流程: 單master視頻教程 解壓后在master 上 cd shell && sh init.sh ,然后sh master.sh(注意因?yàn)槟_本用的相...
摘要:使用安裝安全高可用集群安裝包地址如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 使用kubeadm安裝安全高可用kubernetes集群 安裝包地址 如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 單個(gè)master流程: 單master視頻教程 解壓后在master 上 cd shell && sh init.sh ,然后sh master.sh(注意因?yàn)槟_本用的相...
摘要:使用安裝安全高可用集群安裝包地址如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 使用kubeadm安裝安全高可用kubernetes集群 安裝包地址 如非高可用安裝請忽略此教程,直接看產(chǎn)品頁的三步安裝。 單個(gè)master流程: 單master視頻教程 解壓后在master 上 cd shell && sh init.sh ,然后sh master.sh(注意因?yàn)槟_本用的相...
摘要:對于在公司內(nèi)網(wǎng)環(huán)境中無法訪問互聯(lián)網(wǎng)的用戶而言,離線安裝部署是解決問題的關(guān)鍵。本文是離線部署教程,專為內(nèi)網(wǎng)用戶排坑解難。在創(chuàng)建完成后設(shè)置為默認(rèn)并切換到該環(huán)境。添加主機(jī)命令修改為在主機(jī)節(jié)點(diǎn)上修改配置請參考部署方式及環(huán)境部署 對于在公司內(nèi)網(wǎng)環(huán)境中、無法訪問互聯(lián)網(wǎng)的用戶而言,離線安裝部署Rancher是解決問題的關(guān)鍵。本文是Rancher離線部署教程,專為內(nèi)網(wǎng)用戶排坑解難。 版本說明 OS:C...
閱讀 1893·2021-11-22 15:25
閱讀 1250·2021-11-19 09:40
閱讀 1857·2021-09-27 13:57
閱讀 986·2021-09-22 15:10
閱讀 972·2021-08-16 11:01
閱讀 2971·2021-07-23 17:51
閱讀 765·2019-08-30 15:55
閱讀 818·2019-08-30 13:58