Dockerfile中更換國內源

2021-10-05 20:53:12 字數 2610 閱讀 8643

場景:

在docker中使用dockerfile的方式進行構建自己的映象時,發現構建的映象預設使用國外的源,導致使用自己構造的映象 啟動容器後,在容器中安裝軟體慢的離譜,而且大多數情況下都會因為連線超時而失敗,ubuntu中乙個簡單的vim都安裝不了。

那麼,就想這在dockerfile檔案構建映象的初期,就將新的映象中的源給替換了。

操作步驟:

第一步:

建立自己的測試目錄:

sudo mkdir test
第二步:

切換到測試目錄下,建立dockerfile檔案

cd test

sudo vim dockerfile

dockerfile檔案的測試內容如下(這裡映象是基於ubuntu16.04的):

from ubuntu:16.04

maintainer author "[email protected]"

add sources.list /etc/apt/

run apt-get update && apt-get install -y vim && apt-get install -y nginx

expose 80

第三步:

在test目錄下建立sources.list檔案,並將阿里的源複製到檔案中,然後儲存檔案

sudo vim sources.list
阿里原始檔內容(將以下內容複製到sources.list檔案中):

deb  xenial main restricted universe multiverse  

deb xenial-security main restricted universe multiverse

deb xenial-updates main restricted universe multiverse

deb xenial-backports main restricted universe multiverse

注意源中的xenial是ubuntu16.04這個版本所對應的別名,如果採用其他的,則請替換為對應的別名

至此,準備工作基本上結束,下面就是構建映象

第四步:

構建映象,在test目錄下,執行以下命令

docker build -t="demo/myubuntu:al16.04" .
執行後,你會看到以下內容

sending build context to docker daemon  3.072kb

step 1/6 : from ubuntu:16.04

---> 005d2078bdfa

step 2/6 : maintainer author "[email protected]"

---> using cache

---> b1e50471f46b

step 3/6 : add sources.list /etc/apt/

---> a6bfbbcbab61

step 4/6 : run apt-get update && apt-get install -y vim && apt-get install -y nginx

---> running in 4e4317e70e06

get:1 xenial inrelease [247 kb]

get:2 xenial-security inrelease [109 kb]

get:3 xenial-updates inrelease [109 kb]

get:4 xenial-backports inrelease [107 kb]

get:5 xenial/main amd64 packages [1558 kb]

get:6 xenial/restricted amd64 packages [14.1 kb]

get:7 xenial/universe amd64 packages [9827 kb]

get:8 xenial/multiverse amd64 packages [176 kb]

構建完畢後,使用 命令docker images 查詢映象,你會看到你剛建立的映象。

repository          tag                 image id            created             size

demo/myubuntu al16.04 8e1742c79939 18 minutes ago 260mb

至此,映象構建完畢。

第五步:

測試映象是否正常使用,因為這個映象初始化時,已經安裝了nginx和vim,因此,此處使用nginx來測試:

docker run -d -p 8081:80 --name testmyubuntu demo/myubuntu:al16.04  nginx -g "daemon off;"

conda更換國內源 網速問題?更換國內源吧!

當時我還是個孩子,懷著對python對無限敬仰敲下了conda upgrade的回車,3kb公升級速度讓我一度懷疑人生,網速問題!經過一番搜尋研究,的確是網速的問題,國內訪問不到部分pip源的位址。既然這樣那就換上中國特色pip源吧,嘻嘻 conda upgrade開啟terminal home p...

Ubuntu 更換國內源

sudo cp etc apt sources.list etc apt sources.list.bak 備份 sudo vim etc apt sources.list 修改 sudo apt get update 更新列表 阿里雲源 deb trusty main restricted uni...

python pip更換國內源

pip國內的一些映象 阿里雲 中國科技大學 豆瓣 douban 清華大學 中國科學技術大學 修改源方法 臨時使用 可以在使用pip的時候在後面加上 i引數,指定pip源 eg pip install requests i 永久修改 linux 修改 pip pip.conf 沒有就建立乙個 內容如下...