docker鏡像如下:
今天在運行的容器內使用 apt-get update 命令進行更新時,發下很多404錯誤。
1 Err http://archive.ubuntu.com wily-updates/restricted amd64 Packages 2 404 Not Found [IP: 91.189.88.152 80] 3 Err http://archive.ubuntu.com wily-updates/universe amd64 Packages 4 404 Not Found [IP: 91.189.88.152 80] 5 Err http://archive.ubuntu.com wily-security/main Sources 6 404 Not Found [IP: 91.189.88.152 80] 7 Err http://archive.ubuntu.com wily-security/restricted Sources 8 404 Not Found [IP: 91.189.88.152 80] 9 Err http://archive.ubuntu.com wily-security/universe Sources 10 404 Not Found [IP: 91.189.88.152 80] 11 Err http://archive.ubuntu.com wily-security/main amd64 Packages 12 404 Not Found [IP: 91.189.88.152 80] 13 Err http://archive.ubuntu.com wily-security/restricted amd64 Packages 14 404 Not Found [IP: 91.189.88.152 80] 15 Err http://archive.ubuntu.com wily-security/universe amd64 Packages 16 404 Not Found [IP: 91.189.88.152 80] 17 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/wily/main/source/Sources 404 Not Found [IP: 91.189.88.152 80] 18 19 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/wily/restricted/source/Sources 404 Not Found [IP: 91.189.88.152 80] 20 21 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/wily/universe/source/Sources 404 Not Found [IP: 91.189.88.152 80] 22 23 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/wily/main/binary-amd64/Packages 404 Not Found [IP: 91.189.88.152 80] 24 25 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/wily/restricted/binary-amd64/Packages 404 Not Found [IP: 91.189.88.152 80] 26 27 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/wily/universe/binary-amd64/Packages 404 Not Found [IP: 91.189.88.152 80] 28 29 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/wily-updates/main/source/Sources 404 Not Found [IP: 91.189.88.152 80] 30 31 W: Failed to fetch http://archive.ubuntu.com/ubuntu/dists/wily-updates/restricted/source/Sources 404 Not Found [IP: 91.189.88.152 80]
經查,每一個Ubuntu發布版本都有它的結束時間,通常,Ubuntu發布版本支持18個月,而LTS (Long Term Support)(長期支持)版本分別支持3年(服務器版)和5年(桌面版)。
當一個Ubuntu發布版本到達結束期后,它的庫將不再能夠訪問,並且你也不會得到任何維護更新和安全補丁。當寫這個的時候,我的15.10版本已經到了它的結束期了。
對於那些使用舊版本的Ubuntu的用戶,這是一個過期庫的歸檔。因此,Ubuntu過期后,我們必須把源切換到 old-releases.ubuntu.com。
下面的方法通過切換到舊版本的源來解決“404 Not Found”錯誤。
首先,使用舊版本的源來替換當前主源
$ sudo sed -i -r 's/([a-z]{2}\.)?archive.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list $ sudo sed -i -r 's/security.ubuntu.com/old-releases.ubuntu.com/g' /etc/apt/sources.list
現在,應該能夠在舊版本的Ubuntu鏡像系統上進行安裝或者更新了
在完成操作之后,輸入 exit命令來退出這個容器。
此時ID為5a76c9bb0d02的容器,是按我們的需求更改的容器。我們可以通過命令 docker commit來提交容器副本。
sudo docker commit -m="has update" -a="zpt" 5a76c9bb0d02 zpt/ubuntu:v2
各個參數說明:
-
-m:提交的描述信息
-
-a:指定鏡像作者
-
5a76c9bb0d02:容器ID
-
runoob/ubuntu:v2:指定要創建的目標鏡像名
接下來我們可以使用 docker images 命令來查看我們的新鏡像 zpt/ubuntu:v2: