一文掌握docker centos 安裝python3.7「精品」

今天我將透過下文,詳細向大家介紹如何在docker下安裝python3.7,當然是在centos中:

一、獲取centos映象

docker pull centos:centos7

二、檢視容器

docker images

執行後,顯示如下:

REPOSITORY TAG IMAGE ID CREATED SIZE

mysql latest a0d4d95e478f 3 days ago 560MB

centos centos7 b5b4d78bc90c 11 days ago 227MB

ubuntu latest 1d622ef86b13 3 weeks ago 83。8MB

hello-world latest c7f4e41fba3a 4 weeks ago 251MB

三、檢視執行狀態

docker ps -a

執行後顯示如下:

一文掌握docker centos 安裝python3.7「精品」

加 -a表示檢視所有

四、執行centos容器,如果已啟動,則略過

這裡有幾種情況,根據實際情況選擇

4。1、pull後直接執行容器

docker run -itd ——name centos-test centos:centos7

4。2、啟動一個已停止的centos容器

docker start 容器ID或容器名

說明如下:

1。 先檢視已經暫停的容器例項資訊

2。 透過docker start 59ec 啟動容器

3。 透過docker ps 檢視當前啟動的容器

docker start 還有兩個引數

-i:以 互動模式啟動 互動模式

-t:以 附加程序方式啟動 附加程序

4。3、重啟容器

docker restart 容器ID或容器名 :不管容器是否啟動,直接重啟容器

1。 首先 docker ps 檢視正在執行的容器資訊,顯示2分鐘前啟動執行

2。 docker restart 59ec 重啟容器

3。 再次 docker ps 檢視容器資訊 顯示 2秒前啟動執行

docker restart 引數

-t:關閉容器的限時,如果超時未能關閉則用kill強制關閉,預設值10s,這個時間用於容器的自己儲存狀態

五、centos已啟動,那麼現在是進入centos的容器

docker run -i –t centos /bin/bash

六、下載安裝python編譯環境依賴

yum -y install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel

#安裝make編譯所需的gcc,g++編譯器

yum -y install gcc automake autoconf libtool make wget

七、移除centos中自帶的python2.7的環境變數

預設情況下,centos已經自帶了python2。7,可以用python -v檢視一下

#操作路徑 /usr/bin

mv python python。bak

#mv命令是用來為檔案或目錄改名、或將檔案或目錄移入其它位置,命令說明如下

命令格式

執行結果

一文掌握docker centos 安裝python3.7「精品」

改名後,可以再執行python -v看一下,會提示錯誤,沒有這個檔案或目錄

八、下載python3.6.8的原始碼壓縮檔案

8.1、建立安裝路徑

mkdir -p /usr/local/python/python3

說明:

格式:mkdir [-p] dirName

mkdir命令用於建立名稱為 dirName 之子目錄

-p 確保目錄名稱存在,不存在的就建一個。

例:在工作目錄下的myfile 目錄中,建立一個名為Work的子目錄。 若myfile 目錄原本不存在,則建立一個。(注:本例若不加 -p,且原本 myfile目錄不存在,則產生錯誤。)

mkdir -p myfile/Work

8.2、進入指定路徑下載python原始碼

#操作路徑 /usr/local

cd /usr/local

wget https://www。python。org/ftp/python/3。7。0/Python-3。7。0。tgz

說明:

wget:使用wget從網上下載軟體、音樂、影片

wget https://www。python。org/ftp/python/3。7。0/Python-3。7。0。tgz

下載檔案並以指定的檔名儲存檔案 $ wget -O python3。7。tgz https://www。python。org/ftp/python/3。7。0/Python-3。7。0。tgz

8.3、解壓原始碼壓縮包

#操作路徑 /usr/local

tar -zxvf Python-3。7。0。tgz

九、安裝python-3.7.0

9.1、編譯安裝環境

#操作路徑 /usr/local/Python-3。7。0/

./configure --prefix=/usr/local/python/python3

說明:

configure是一個可執行指令碼,它有很多選項,在待安裝的原始碼路徑下使用命令。/configure –help輸出詳細的選項列表。

其中——prefix選項是配置安裝的路徑,如果不配置該選項,安裝後可執行檔案預設放在/usr /local/bin,庫檔案預設放在/usr/local/lib,配置檔案預設放在/usr/local/etc,其它的資原始檔放在/usr /local/share,會比較亂。

如果配置——prefix,如:

。/configure ——prefix=/usr/local/mywork

可以把所有資原始檔放在/usr/local/mywor的路徑中,不會亂。

用了—prefix選項的另一個好處是解除安裝軟體或移植軟體。

當某個安裝的軟體不再需要時,只需簡單的刪除該安裝目錄,就可以把軟體解除安裝得乾乾淨淨;

移植軟體只需複製整個目錄到另外一個機器即可(相同的作業系統)。

如果要解除安裝程式,也可以在原來的make目錄下用一次make uninstall,但前提是make檔案指定過uninstall。

9.2、進行安裝python3.7.0

#操作路徑要在/usr/local/Python-3。7。0

make && make install

說明:

make install

將編譯成功的可執行檔案安裝到系統目錄中,一般為/usr/local/bin目錄。

9.3、軟連結繫結

ln -s /usr/local/python/python3/bin/python3 /usr/bin/python

注意:軟連結繫結是如果提示 /ur/bin/python已存在,說明之前的python2。7的軟連結沒有刪除

9.4、驗證是否安裝成功

python -V

輸出下方資訊,證明成功了

Python 3。7。0

注意:

由於centos7的yum要使用到python2。7。5的環境,我們要指定yum使用的python的版本,不然使用了3。7。0可能會導致yum命令無法使用,修改頭部設定為使用python2。7

# 操作路徑 /usr/bin/

vim yum

# 修改頭部設定如下方

#!/usr/bin/python2。7

十、安裝pip工具

因為以後安裝python的庫要用到pip這個工具,所以也要安裝

10.1、安裝pip

#操作路徑 /usr/local

wget https://bootstrap。pypa。io/get-pip。py

python get-pip。py

10.2、繫結軟連線

ln -s /usr/local/python/python3/bin/pip3 /usr/bin/pip

10.3、驗證是否安裝成功

pip -V

說明:大寫的V

十一、備份儲存,作為模板,下次再用

匯出當前容器為映象,並上傳到區域網映象庫

11.1、檢視容器狀態

docker ps

執行後如下:

一文掌握docker centos 安裝python3.7「精品」

11.2、 從 docker ps 命令中查詢當前容器的容器id

如上執行後的結果:6c49b4d8949a

12.3、 docker export 命令將目標容器匯出為tar檔案

docker export -o centos7_python37。tar 6c49b4d8949a

也可以使用docker save 把容器儲存出來

docker save -o centos7_python37.tar centos7_python37.tar

12.4 docker import 命令將壓縮包中的映象檔案匯入映象庫中

命名為 centos7_python37,標籤為 py37v2

docker import centos7_python37。tar centos7_python37:py37v2

12.5 docker tag 另存映象並重命名,為了push到區域網中的映象庫

docker tag centos7_python37:py37v2 192。168。2。100:5000/centos7_python37:py37v2

docker push 192。168。2。100:5000/centos7_python37:py37v2