在使用rhel7.2镜像在docker中运行iptables时,它工作正常 但是当我试图用一些规则运行docker时,它根本就没有开始。
这是我的泊坞文件
#######Simplest Docker file which I used for building image and it works from marathon if you dont give cmd or args ########
FROM registry.access.redhat.com/rhel7.2
ADD rhel7.2.repo /etc/yum.repos.d/rhel7.2.repo
RUN yum -y update
RUN yum install iptables -y
CMD ["/usr/sbin/init"]
######### Dockerfile END ####
###to run the docker
sudo docker run -it /bin/bash -c "iptables -t nat -A PREROUTING -p udp -m udp --dport 53 -m statistic --mode nth --every 2 --packet 0 -j DNAT --to-destination 172.31.254.1:10004"
请让我知道什么是错的?
答案 0 :(得分:0)
如果它在没有提供args的情况下运行,我怀疑问题是你覆盖了图像的CMD
;通过调用/bin/bash -c ...
,您将覆盖/usr/sbin/init
,因此不会启动iptables。
您可以启动容器(不带参数),然后使用docker exec -it <containername> bash
在容器中打开一个交互式会话来修改iptables设置。