2017-04-10 59 views
1

我在docker上安装了Ubuntu 14.04镜像。该镜像带有Ubuntu官方软件源码。由于我在中国,无法连接到这些服务器,因此我必须编辑etc/apt/source.list用vi或vim替换软件源。但是,Ubuntu映像不会与两个编辑器中的任何一个一起提供。如果我尝试 来安装编辑器,那么我必须更改软件源。我怎么解决这个问题?无法替换docker中的软件源码Ubuntu镜像

+2

从基础图像创建派生图像,并在该脚本中使用sed更改源代码 –

+0

感谢您的回复,但我不知道如何使用sed。我用dockerfile来解决这个问题。 –

回答

1

如下您可以创建一个派生泊坞窗图像:

Dockerfile

FROM ubuntu:14.04 
COPY ./sources.list /etc/apt/ 

sources.list(我在中国使用这些之前,他们的工作很好,跟你喜欢的人替换)

# See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to                                
# newer versions of the distribution. 
deb http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted 
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty main restricted 
## Major bug fix updates produced after the final release of the 
## distribution. 
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted 
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-updates main restricted 
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team. Also, please note that software in universe WILL NOT receive any 
## review or updates from the Ubuntu security team. 
deb http://cn.archive.ubuntu.com/ubuntu/ trusty universe 
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty universe 
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates universe 
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-updates universe 
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu 
## team, and may not be under a free licence. Please satisfy yourself as to 
## your rights to use the software. Also, please note that software in 
## multiverse WILL NOT receive any review or updates from the Ubuntu 
## security team. 
deb http://cn.archive.ubuntu.com/ubuntu/ trusty multiverse 
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty multiverse 
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-updates multiverse 
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-updates multiverse 
## N.B. software from this repository may not have been tested as 
## extensively as that contained in the main release, although it includes 
## newer versions of some applications which may provide useful features. 
## Also, please note that software in backports WILL NOT receive any review 
## or updates from the Ubuntu security team. 
deb http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse 
deb-src http://cn.archive.ubuntu.com/ubuntu/ trusty-backports main restricted universe multiverse 
deb http://security.ubuntu.com/ubuntu trusty-security main restricted 
deb-src http://security.ubuntu.com/ubuntu trusty-security main restricted 
deb http://security.ubuntu.com/ubuntu trusty-security universe 
deb-src http://security.ubuntu.com/ubuntu trusty-security universe 
deb http://security.ubuntu.com/ubuntu trusty-security multiverse 
deb-src http://security.ubuntu.com/ubuntu trusty-security multiverse 
## Uncomment the following two lines to add software from Canonical's 
## 'partner' repository. 
## This software is not part of Ubuntu, but is offered by Canonical and the 
## respective vendors as a service to Ubuntu users. 
# deb http://archive.canonical.com/ubuntu trusty partner 
# deb-src http://archive.canonical.com/ubuntu trusty partner 
## This software is not part of Ubuntu, but is offered by third-party 
## developers who want to ship their latest software. 
#deb http://extras.ubuntu.com/ubuntu trusty main 
#deb-src http://extras.ubuntu.com/ubuntu trusty main 

创建这些文件后,您可以通过运行来构建映像,例如:

docker build --tag ubuntu:14.04-cn 

并在您的项目中使用它,如果您需要将其上传到码头集线器,则需要相应地更改名称。

此外,我建议您直接在图像中安装所需的软件,这样您不必在每次启动容器时都安装依赖项,因为无论如何您都在构建图像。

+0

感谢您提供详细的重播和有用的建议。我是初学者,所以我需要摸索很多东西。 –

+0

如果答案正确解决了您的问题,请将其标记为正确,以便其他人可以在将来遵循同一个系统。如果没有让我知道,如果有什么东西不能正常工作,我可以修改它。 – oirad

相关问题