我想从官方 Docker 镜像使用
docker run -d consul -P
-P
应该映射所有暴露的端口Dockerfile到主机。运行不带命令的-P
工作正常,docker ps
显示以下内容:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
bc23fb8b61a6 consul "docker-entrypoint.sh" 3 seconds ago Up 1 seconds 8300-8302/tcp, 8400/tcp, 8500/tcp, 8301-8302/udp, 8600/tcp, 8600/udp jovial_booth
使用时-P
容器会立即退出。当我运行
docker logs bc23fb8b61a6
我收到此错误:
Invalid flags before the subcommand. If these flags are for
the subcommand, please put them after the subcommand.
usage: consul [--version] [--help] <command> [<args>]
Available commands are:
[…]
我也尝试将/var/log
其从容器映射到本地目录,但不幸的是它仍然是空的。
知道哪里出了问题以及如何访问容器的日志吗?
答案1
您需要将-P
参数(属于docker run
)放在consul
命令前面:
docker run -d -P consul
否则,它将被 Consul 解释,并且您会收到该命令的语法错误消息consul
。