Docker 端口转发和特权标志不起作用

Docker 端口转发和特权标志不起作用

这是我的第一个问题 :-)。我通过 docker 在我的实际根服务器上托管所有服务,它运行良好并通过 rancher 进行管理。但现在我想将我的服务从新提供商转移到另一台主机,这比我想象的要难 :-)。

这是我的问题:每当我在新主机上启动一个带有端口转发的新 docker 容器时,我都无法访问它。我尝试使用以下命令创建并启动一个新的 nginx 容器:

docker run -p 80:80 -d nginx:latest

使用 curl 会导致以下行为:

  • 在我的电脑上,我无法在 server_ip 上进行 curl
  • 从我的服务器(容器外部)我无法在本地主机上使用 curl
  • 从容器内部我可以在本地主机上进行 curl

我不知道这是否相关,但我也无法创建特权容器。它解析为以下错误:

root@server:/home/michael# docker run --privileged -p 80:80  nginx:latest
container_linux.go:247: starting container process caused "operation not permitted"
docker: Error response from daemon: transport is closing.

我的旧服务器(Netcup):

Ubuntu 16.04.2 LTS (GNU/Linux 4.4.0-78-generic x86_64)

我的新服务器(Medialocation):

Ubuntu 16.04.2 LTS (GNU/Linux 4.8.0-0.bpo.2-amd64 x86_64)

所以我的问题是:如何使我的端口转发正常工作以及我该怎么做才能启动特权容器?

答案1

问题已解决。正如 @jordanm 提到的,我的服务器是 LXC 客户机,需要提供商的额外权限才能与 docker 正常工作。

谢谢你,乔丹。

相关内容