我想在Docker容器中使用iptables将8080端口转发到80.在构建中,我有一条错误消息,如下所示.
这是Dockerfile:
FROM fedora
RUN whoami && \
iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
Run Code Online (Sandbox Code Playgroud)
这是输出:
[~]# docker build -t temp /home/edfromhadria/Documents/Docker/temp/.
Sending build context to Docker daemon 2.048 kB
Sending build context to Docker daemon
Step 0 : FROM fedora
---> 834629358fe2
Step 1 : RUN whoami && iptables -t nat -A PREROUTING -p tcp -m tcp --dport 80 -j REDIRECT --to-ports 8080
---> Running in 95046cf959bf
root
iptables v1.4.21: can't …Run Code Online (Sandbox Code Playgroud) 我想进一步了解Docker。我是个初学者,对此和linux都很陌生。我的英语不太好,所以我复制了Terminal输出。我有一个516MB虚拟尺寸的图像。我在容器中启动bash,并使用wget将一些26MB的数据下载到其中。下载后,我使用提交通过容器的更改创建一个映像。之后,虚拟大小为542.5MB。那是正确的。提交后,我再次开始bash,并删除了该文件。当我提交更改时,图像“虚拟大小”为542.8MB。
此大小不会减少,而是会增加。你能告诉我原因吗?
本地图片:
[fedora_user@fedora-vm ~]$ docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
tester/mytestfedora latest c0ca83567bdd 4 seconds ago 516 MB
fedora latest 834629358fe2 3 months ago 241.3 MB
Run Code Online (Sandbox Code Playgroud)
使用最小的一个并下载文件:
[fedora_user@fedora-vm ~]$ docker run -i -t tester/mytestfedora /bin/bash
bash-4.3# su dockeres
[dockeres@05ef6e284e32 /]$ cd /home/dockeres/downloads/
[dockeres@05ef6e284e32 downloads]$ wget https://dl.dropboxusercontent.com/u/827503/0_TEMP/Riverbed.zip
--2015-03-31 19:24:47-- https://dl.dropboxusercontent.com/u/827503/0_TEMP/Riverbed.zip
Resolving dl.dropboxusercontent.com (dl.dropboxusercontent.com)... 54.243.97.104, 54.243.80.193, 50.16.185.28, ...
Connecting to dl.dropboxusercontent.com (dl.dropboxusercontent.com)|54.243.97.104|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 26177252 (25M) [application/zip]
Saving to: 'Riverbed.zip'
Riverbed.zip …Run Code Online (Sandbox Code Playgroud)