这是我的第一个问题 :-)。我通过 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 正常工作。
谢谢你,乔丹。