ubuntu - 无法替换 docker Ubuntu 镜像中的软件源

标签 ubuntu docker vim

我在docker上安装了Ubuntu 14.04镜像。镜像自带Ubuntu官方软件源。由于我在中国无法连接到这些服务器,我必须编辑etc/apt/source.list来替换软件使用 vi 或 vim 获取源代码。然而,这两个编辑器都没有提供 Ubuntu 镜像。如果我试过 要安装编辑器,我必须更改软件源。我该如何解决这个问题?

最佳答案

您可以创建一个派生的 docker 镜像,如下所示:

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

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

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

关于ubuntu - 无法替换 docker Ubuntu 镜像中的软件源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43323842/

相关文章:

ubuntu - Jupyter Lab 未在 Ubuntu 上打开

linux - 如何将两个单词添加到 bash 脚本变量

postgresql - 使用持久数据运行 postgresql docker 镜像返回权限错误

python - 如何让 vim 在调用函数时只在括号后的下一行插入 4 个空格(一个缩进级别)?

c - 常用的 gvim 快捷键有哪些?

ubuntu - 无法在 Ubuntu Hardy (8.04) 上安装 sun-java6-bin 包

c++ - 运行可执行文件时找不到共享库,即使共享库存在于指定路径中

ubuntu - 如何调查 Ubuntu 的两个 Docker 镜像之间的差异?

reactjs - 无法执行从一个 docker 镜像到另一个 docker 镜像的API请求

vim 替换反斜杠