今天我將透過下文,詳細向大家介紹如何在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
執行後顯示如下:
加 -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命令是用來為檔案或目錄改名、或將檔案或目錄移入其它位置,命令說明如下
命令格式
執行結果
改名後,可以再執行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
執行後如下:
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