使用 Windows Subsystem for Linux 2,我想运行两个单独的 Centos 7 实例,但是当我这样做时,两个实例都具有相同的 eth0 inet 地址。这就是我所做的......
我为我的基础创建了一个基础 Centos 7 tarball,然后创建了两个独立的发行版,它的外观和运行都如我所期望的那样;
> wsl --import centos7-1 centos7-1 centos7.tar.gz --version 2
> wsl --import centos7-2 centos7-2 centos7.tar.gz --version 2
> wsl -l -v
NAME STATE VERSION
* centos7-1 Stopped 2
centos7-2 Stopped 2
> ls
Directory: C:\Users\me\centos
Mode LastWriteTime Length Name
---- ------------- ------ ----
d----- 4/8/2022 11:28 AM centos7-1
d----- 4/8/2022 11:29 AM centos7-2
-a---- 4/8/2022 11:24 AM 174323670 centos7.tar.gz
Run Code Online (Sandbox Code Playgroud)
除了当我在单独的 PS 窗口中打开并运行每个发行版并ifconfig eth0在每个发行版中运行时,它们都显示相同的 …
使用 docker 1.9.0 版
我有一个提供 ubuntu 可信赖镜像 (trusty-mirror) 的 docker 容器。我正在尝试构建第二个容器并希望它从 trusty-mirror 更新和安装软件包。
我的第二个容器的 Dockerfile 有;
FROM ubuntu:14.04
RUN sed -i -e s#http://archive.ubuntu.com#${MIRROR}#g \
-e s#http://security.ubuntu.com#${MIRROR}#g \
/etc/apt/sources.list
RUN cat /etc/apt/sources.list
RUN apt-get update
RUN apt-get -y upgrade
RUN apt-get -y autoremove
Run Code Online (Sandbox Code Playgroud)
我使用--build-arg option将 MIRROR 信息传递给 docker build ,就像这样;
ip=$(docker inspect --format '{{ .NetworkSettings.IPAddress }}' trusty-mirror 2>/dev/null)
docker build --build-arg MIRROR=ftp://$ip
Run Code Online (Sandbox Code Playgroud)
当这个运行时;
+++ docker inspect --format '{{ .NetworkSettings.IPAddress }}' trusty-mirror
++ ip=172.17.0.2
++ docker build --build-arg MIRROR=ftp://172.17.0.2 . …Run Code Online (Sandbox Code Playgroud)