国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

內(nèi)網(wǎng)離線(xiàn)安裝docker-ce工具,帶你來(lái)了解!

2023-02-28 13:21 作者:競(jìng)予科技  | 我要投稿

雖然通常我們都是使用網(wǎng)絡(luò)來(lái)安裝?docker?的,但是對(duì)于安全要求比較高的業(yè)務(wù)或者用戶(hù)來(lái)說(shuō),部署產(chǎn)品需要在內(nèi)網(wǎng)部署,而內(nèi)網(wǎng)通常是無(wú)法訪問(wèn)外部網(wǎng)絡(luò)的,所以就需要通過(guò)內(nèi)網(wǎng)進(jìn)行安裝了。

? 1. yum 離線(xiàn)安裝包獲取方法?

下載軟件包

這里以?CentOS7?為例進(jìn)行說(shuō)明

# 替換并更新軟件源

$ curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo


# 生成緩存

$ yum makecache

# 添加docker-ce軟件源

$ curl -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo


生成緩存

$ yum makecache

# 前提條件

$ yum install -y yum-plugin-downloadonly


# 下載rpm安裝包,我這里以docker-ce為例說(shuō)明

$ yum install --downloadonly --downloaddir=./ docker-ce

這里以?Ubuntu18.04?為例進(jìn)行說(shuō)明

# 會(huì)存放在/var/cache/apt/archives目錄下面

$ sudo apt-get install --download-only pppoe

? 2. yum 離線(xiàn)安裝 docker-ce 工具

安裝軟件包

如果我們發(fā)現(xiàn)原有的操作系統(tǒng)已經(jīng)安裝了?docker?工具,但是對(duì)應(yīng)版本并不能

滿(mǎn)足我們的需要,可以將其卸載之后再次安裝即可。

# 搜索已經(jīng)安裝的docker安裝包

$ sudo yum list installed | grep docker

docker.x86_64 2:1.12.6-16.el7.centos @extras


# 分別刪除安裝包

$ sudo yum –y remove docker.x86_64

使用我們打好的 docker-ce 的安裝包,執(zhí)行安裝命令的時(shí)候報(bào)錯(cuò)。

# 安裝時(shí)一并安裝對(duì)應(yīng)依賴(lài)

$ sudo yum install ./*.rpm

--> Finished Dependency Resolution

Error: Package: audit-libs-python-2.8.1-3.el7.x86_64 (/audit-libs-python-2.8.1-3.el7.x86_64)

?Requires: audit-libs(x86-64) = 2.8.1-3.el7

?Installed: audit-libs-2.8.1-3.el7_5.1.x86_64 (@updates)

?audit-libs(x86-64) = 2.8.1-3.el7_5.1

?Available: audit-libs-2.8.1-3.el7.x86_64 (base)

?audit-libs(x86-64) = 2.8.1-3.el7

You could try using --skip-broken to work around the problem

You could try running: rpm -Va --nofiles --nodigest


# 安裝的時(shí)候忽略以問(wèn)題

$ rpm -ivh --force --nodeps ./*.rpm

可以發(fā)現(xiàn)可能為系統(tǒng)已經(jīng)安裝了對(duì)應(yīng)的包,將其移出目錄外之后再次安裝。

# 移動(dòng)到上級(jí)目錄

$ mv audit-libs-2.8.1-3.el7.x86_64.rpm ..

$ mv audit-libs-python-2.8.1-3.el7.x86_64.rpm ..

如果有缺少依賴(lài)的問(wèn)題,就到下面網(wǎng)站中找對(duì)應(yīng)缺失的相關(guān)依賴(lài)鏡像。

# CentOS

https://centos.pkgs.org/

總結(jié)下:雖然操作系統(tǒng)的大版本是一致的,但是對(duì)應(yīng)小版本不一致可能會(huì)存在對(duì)應(yīng)?rpm?包小版本的不一致,而導(dǎo)致存在依賴(lài)問(wèn)題,導(dǎo)致安裝時(shí)失敗。

? 3. pip 離線(xiàn)安裝包獲取方法

下載軟件包

Python?環(huán)境安裝?package?的方法,一般是采用?pip?命令在線(xiàn)從?PyPI?網(wǎng)站上面下載安裝的,這也是最為方便的途徑。但是在某些情況下,要為一臺(tái)離線(xiàn)的機(jī)器安裝?package?依賴(lài)包,其根本無(wú)法訪問(wèn)外網(wǎng)環(huán)境。當(dāng)然,一般大廠都會(huì)有內(nèi)網(wǎng)?PyPI?代理,只要改一下?--index-url?參數(shù)即可。若無(wú)代理的情況下,只能將所有依賴(lài)的?package?離線(xiàn)下載下來(lái),放到離線(xiàn)的機(jī)器上安裝,即可。

由于手動(dòng)下載所有依賴(lài)是一件非常痛苦的事情,所以我發(fā)現(xiàn)了?pip download?命令可以很好的解決這個(gè)問(wèn)題。

# (1)確認(rèn)需要的依賴(lài)包 - 外部第三方庫(kù)

$ sudo vim requirements.txt

alembic


# (2)確認(rèn)需要的依賴(lài)包 - 內(nèi)部第三方庫(kù)

$ sudo vim requirements.txt

--index-url https://admin:111111@pypi.escapelife.com:4874/simple

love_grilfriend


# (3)通過(guò)如下命令下載依賴(lài)

$ sudo pip download -d /root/packages -r requirements.txt


? 4. pip 離線(xiàn)安裝 package 方法

需要注意的是,

存在?online?和?offline?機(jī)器架構(gòu)完全相同,也可能架構(gòu)不相同。

[1] 架構(gòu)相同

# 直接在online機(jī)器執(zhí)行如下命令下載所有依賴(lài)package到當(dāng)前目錄

$ sudo pip download tensorflow


# 將目錄內(nèi)容拷貝到目標(biāo)offline機(jī)器并目標(biāo)offline機(jī)器執(zhí)行

$ pip install --no-index --find-links=file:/data/tensorflow_package_dir tensorflow


# 不依賴(lài)其他庫(kù)強(qiáng)制安裝

$ pip install --no-deps tensorflow-1.2.3-cp36-cp36m-linux_x86_64.whl


[2] 架構(gòu)不同

# pyenv+docker

# 架構(gòu)不同的情況下,可以使用docker創(chuàng)建一個(gè)和目標(biāo)機(jī)器相同的系統(tǒng)

# 然后,使用上面這中方式進(jìn)行下載和安裝就可以了,也是很簡(jiǎn)單的,哈哈


# pyenv

# 通過(guò)pyenv安裝指定版本的python

$ curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash pyenv install 3.7.13

# 切換Python版本

$ pyenv global 2.7.13


# docker

# 先啟動(dòng)目標(biāo)系統(tǒng)的docker鏡像

$ docker run -it -v /offline_tensorflow_py3:/package ubuntu /bin/bash

# 在容器內(nèi)安裝python

$ apt-get update && apt-get install python python-pip

# 使用和相同架構(gòu)的操作步驟


[3] 存在問(wèn)題 - 導(dǎo)致下文pip download失敗的原因

PyPI?上?package?有好幾種格式,不幸的是?PiPY?并沒(méi)有規(guī)定一個(gè)?package?必須提供的安裝格式,有的只有?wheel?沒(méi)有源文件,有的只有源文件沒(méi)有?wheel?或?egg。

源文件(一般是.tar.gz 或.zip 文件,用 pip 安裝,與機(jī)器架構(gòu)無(wú)關(guān),但某些 package 可能涉及到 C/C++編譯)

wheel 文件(二進(jìn)制文件,拓展名為.whl,用 pip 安裝,無(wú)需編譯,但與機(jī)器架構(gòu)相關(guān))

.egg 文件(二進(jìn)制文件,用 easy_install 安裝,無(wú)需編譯,但與機(jī)器架構(gòu)相關(guān))

# 只要指定--platform/--python-version/--implementation/--abi即可

pip download with the --platform, --python-version, --implementation, and --abi options provides the ability to fetch dependencies for an interpreter and system other than the ones that pip is running on.


--only-binary=:all: or --no-deps is required when using any of these options. It is important to note that these options all default to the current system/interpreter, and not to the most restrictive constraints (e.g. platform any, abi none, etc).


To avoid fetching dependencies that happen to match the constraint of the current interpreter (but not your target one), it is recommended to specify all of these options if you are specifying one of them. Generic dependencies (e.g. universal wheels, or dependencies with no platform, abi, or implementation constraints) will still match an over- constrained download requirement.

# 下載TensorFlow的pip包

pip download \

? ? --only-binary=:all: \? ? ? ? # 只下載二進(jìn)制package(即wheel或egg)

? ? --platform linux_x86_64 \? ? # 說(shuō)明是linux 64位架構(gòu)

? ? --python-version 27 \? ? ? ? # Python 2.7

? ? --implementation cp \? ? ? ? # Cython 一般都是這個(gè)

? ? --abi cp27mu? ? ? ? ? ? ? ? ?# 解釋器和系統(tǒng)的依賴(lài)關(guān)系的能力

? ? tensorflow? ? ? ? ? ? ? ? ? ?# 要下載的package名


? 5. 離線(xiàn)升級(jí) Linux 內(nèi)核的方法

這里主要是由CentOS 的操作系統(tǒng)進(jìn)行演示說(shuō)明

[1] 事件起因

在?CentOS7.3?的系統(tǒng)上面部署?NFS?服務(wù)的時(shí)候,發(fā)現(xiàn)跨主機(jī)使用的話(huà),需要開(kāi)通多個(gè)端口才能保證正常的使用。但是,我之前在?Ubuntu18.04?的系統(tǒng)上使用?NFS?服務(wù)卻只需要使用到默認(rèn)的一個(gè)端口即可,這個(gè)端口就是?2049?了??戳?NFS?服務(wù)的版本號(hào)也是相同的,一直沒(méi)有找到問(wèn)題的原因,最后還是我的?leader?發(fā)現(xiàn)是因?yàn)?Linux?操作系統(tǒng)的版本不一致導(dǎo)致的。

我們安裝?CentOS7.3?的裸機(jī),系統(tǒng)默認(rèn)的內(nèi)核版本為?3.10,屬于比較老的版本,導(dǎo)致部分功能無(wú)法使用?,F(xiàn)在,最新穩(wěn)定的系統(tǒng)內(nèi)核為?4.12?版本,所以需要將我們現(xiàn)在的系統(tǒng)內(nèi)核版本升級(jí)到最新的版本,即可解決上述問(wèn)題。

[2] 升級(jí)準(zhǔn)備

# 備份重要數(shù)據(jù)

如果是虛擬機(jī)的話(huà),使用快照進(jìn)行備份

針對(duì)重要程序數(shù)據(jù)進(jìn)行備份,例如 MySQL、Apache、Nginx等


# 檢查當(dāng)前CentOS系統(tǒng)版本

$ cat /etc/redhat-release

> CentOS Linux release 7.3.1611 (Core)


# 檢查當(dāng)前CentOS系統(tǒng)內(nèi)核版本

# 版本性質(zhì): 主分支ml(mainline),穩(wěn)定版(stable),長(zhǎng)期維護(hù)版lt(longterm)

$ uname -r

> 3.10.0-514.el7.x86_64


[3] 升級(jí)步驟 - 在線(xiàn)安裝

# 升級(jí)CentOS7.X內(nèi)核并且啟用ELRepo倉(cāng)庫(kù)

# RedHat只允許使用yum升級(jí)內(nèi)核,CentOS允許使用ELRepo第三方倉(cāng)庫(kù)升級(jí)內(nèi)核

$ rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org

$ rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm


# 安裝最新的主線(xiàn)穩(wěn)定內(nèi)核

$ yum --enablerepo=elrepo-kernel install kernel-ml


# 設(shè)置GRUB默認(rèn)的內(nèi)核版本

# 修改含義: GRUB初始化頁(yè)面的第一個(gè)內(nèi)核將作為默認(rèn)內(nèi)核

$ vi /etc/default/grub

> GRUB_DEFAULT=0


# 重新創(chuàng)建內(nèi)核配置

$ grub2-mkconfig -o /boot/grub2/grub.cfg


# 重啟機(jī)器并查看系統(tǒng)當(dāng)前內(nèi)核版本

$ uname -sr

> Linux 4.12.0-1.el7.elrepo.x86_64


# 查看系統(tǒng)中全部的內(nèi)核RPM包(可選操作)

$ rpm -qa | grep kernel

> kernel-tools-3.10.0-514.26.2.el7.x86_64

> kernel-devel-3.10.0-514.10.2.el7.x86_64

> kernel-3.10.0-514.26.2.el7.x86_64

> kernel-3.10.0-327.el7.x86_64

> kernel-ml-4.12.0-1.el7.elrepo.x86_64

> kernel-headers-3.10.0-514.26.2.el7.x86_64

> kernel-devel-3.10.0-514.26.2.el7.x86_64

> kernel-tools-libs-3.10.0-514.26.2.el7.x86_64


# 刪除舊內(nèi)核的RPM包(可選操作)

$ yum remove \

? ? kernel-tools-3.10.0-514.26.2.el7.x86_64 \

? ? kernel-devel-3.10.0-514.10.2.el7.x86_64 \

? ? kernel-3.10.0-514.26.2.el7.x86_64 \

? ? kernel-3.10.0-327.el7.x86_64 \

? ? kernel-headers-3.10.0-514.26.2.el7.x86_64 \

? ? kernel-devel-3.10.0-514.26.2.el7.x86_64 \

? ? kernel-tools-libs-3.10.0-514.26.2.el7.x86_64


# 重啟系統(tǒng)

$ reboot

[4] 升級(jí)步驟 - 離線(xiàn)安裝

# 無(wú)法上網(wǎng)的服務(wù)器或者需要安裝指定版本內(nèi)核的需求

# 我們可以把對(duì)應(yīng)kernel的image的rpm包下載下來(lái)安裝

官方CentOS6地址: http://elrepo.org/linux/kernel/el6/x86_64/RPMS/

官方CentOS7地址: http://elrepo.org/linux/kernel/el7/x86_64/RPMS/


# 當(dāng)然配置了ELRepo倉(cāng)庫(kù)之后也是可以下載離線(xiàn)安裝包的

$ yum install -y yum-plugin-downloadonly

$ yum install --downloadonly --downloaddir=./ kernel-ml


# 將rpm包下載上傳到服務(wù)器上并使用下面的命令安裝即可

$ yum -y install kernel-ml-4.12.4-1.el7.elrepo.x86_64.rpm

$ yum -y install kernel-ml-devel-4.12.4-1.el7.elrepo.x86_64.rpm

? 6. pip 工具的相關(guān)問(wèn)題匯總

匯總?cè)粘J褂?pip 工具的常見(jiàn)錯(cuò)誤和對(duì)應(yīng)處理方法!

[1: 問(wèn)題]?在使用新版的?pip?工具(在21+的版本之后)安裝某些庫(kù)的時(shí)候,由于依賴(lài)庫(kù)版本的不一致,pip?會(huì)不斷嘗試和、以安裝已經(jīng)存在的各個(gè)版本,來(lái)確實(shí)是否符合要求,且安裝期間不會(huì)拋出錯(cuò)誤。這就導(dǎo)致,如果是?CI?工具觸發(fā)的話(huà),短時(shí)間之內(nèi)并不會(huì)停止(一個(gè)小時(shí)后自動(dòng)被工具終止),導(dǎo)致問(wèn)題不易排出且浪費(fèi)機(jī)器性能。

# 循環(huán)安裝

$ pip install tensorflow


[1: 答案]?可以在手動(dòng)處理的時(shí)候,加上如下參數(shù),就可以在安裝之后,迅速拋出異常。這樣我們就可以根據(jù)拋出的異常沖突版本,來(lái)修改?requirements.txt?文件,最后解決該問(wèn)題。

# --use-deprecated=legacy-resolver

$ pip3 install -r ./requirements.txt --upgrade --use-deprecated=legacy-resolver

[2: 問(wèn)題]?安裝?psycopg2?依賴(lài)包的時(shí)候,提示如下問(wèn)題:

# 報(bào)錯(cuò)信息

$ pip3 install psycopg2==2.8.4

creating pip-egg-info\psycopg2.egg-info

writing pip-egg-info\psycopg2.egg-info PKG-INFO

writing top-level names to pip-egg-info psycopg2.egg-info top_level.txt

writing dependency_links to pip-egg-info psycopg2.egg-info dependency_links.txt

writing manifest file 'pip-egg-info\psycopg2.egg-info\SOURCES.txt'

warning: manifest_maker: standard file '-c' not found

Error: pg_config executable not found.


Please add the directory containing pg_config to the PATH

or specify the full executable path with the option:

? ? python setup.py build_ext --pg-config /path/to/pg_config build ...


or with the pg_config option in 'setup.cfg'.

----------------------------------------

Command python setup.py egg_info failed with error code 1

[2: 答案]?后來(lái)在這個(gè)?StackOverflow?才知道了問(wèn)題的原因,原來(lái)是系統(tǒng)少一個(gè)依賴(lài)包,導(dǎo)致的。

# 前提條件

$ sudo apt install postgresql-client


# Ubuntu - Python3

$ sudo apt install libpq-dev python3-dev


# Ubuntu - Python2

$ sudo apt install libpq-dev python-dev

$ sudo apt install build-essential

新的一年新的征程新的活動(dòng)來(lái)襲~等你來(lái)學(xué)!


內(nèi)網(wǎng)離線(xiàn)安裝docker-ce工具,帶你來(lái)了解!的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
武鸣县| 印江| 武威市| 汉中市| 铁岭市| 滦平县| 怀化市| 仁化县| 綦江县| 揭西县| 九龙坡区| 怀远县| 昌邑市| 岚皋县| 古浪县| 莱芜市| 苗栗县| 米脂县| 炉霍县| 百色市| 敖汉旗| 和田市| 平阳县| 田阳县| 龙口市| 宜宾县| 温州市| 东安县| 古浪县| 阜新市| 诸城市| 来宾市| 庆城县| 潮州市| 沈阳市| 曲水县| 孙吴县| 绥江县| 临猗县| 云安县| 双牌县|