端口映射 docker run -itd -p 8088:80 centos-httpd bash
//-p 可以指定端口映射,本例中将容器的80端口映射为本地的8088端口
启动容器: docker exec -it 3d0e6cd42295 bash 下面是httpd:
启动httpd: httpd -k start
编辑1.html: vi /var/www/html/1.html 随便写点东西
退出该容器:exit
测试: curl 127.0.0.1:5123/1.html
-p后面也支持IP:port:ip:port 的格式,比如
-p 127.0.0.1:8080:80
也可以不写本地的端口,只写ip,这样会随意分配一个端口
-p 127.0.0.1::80 //注意这里是两个冒号 3.operation not permitted报错解决办法 报错解决
新建的容器,启动nginx或者httpd服务的时候会报错 Failed to get D-Bus connection: Operation not permitted
这是因为dbus-daemon没有启动,解决该问题可以这样做
启动容器时,要加上--privileged -e "container=docker" ,并且最后面的命令改为/usr/sbin/init docker run -itd --privileged -e "container=docker" -p 8000:80 centos-net-nginx /usr/sbin/init
4. 配置桥接网络
为了使本地网络中的机器和Docker容器更方便的通信,我们经常会有将Docker容器配置到和主机同一网段的需求。这个需求其实很容易实现,我们只要将Docker容器和宿主机的网卡桥接起来,再给Docker容器配上IP就可以了。 cd /etc/sysconfig/network-scripts/; cp ifcfg-ens32 ifcfg-br0 vi ifcfg-ens32
//增加BRIDGE=br0,删除IPADDR,NETMASK,GATEWAY,DNS1
vi ifcfg-br0
//修改DEVICE为br0,Type为Bridge,把ens32的网络设置设置到这里来