Docker使用过程中遇到的问题
docker run后 logs报/docker-entrypoint.sh: 38: exec: -p: not found
背景
启动 nginx 容器时,使用下面的启动命令
docker run -d nginx:latest \
-p 8080:80 \
-v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /etc/nginx/conf.d:/etc/nginx/conf.d:ro \
-v /var/log/nginx/:/var/log/nginx \
-v /var/www/html:/usr/share/nginx/html:ro \
--name nginx
执行完成后查看容器状态是 Exited (127)
,这时使用 docker logs
提示
/docker-entrypoint.sh: 47: exec: -p: not found
解决方法
把-d参数放在末尾,即启动命令改为
docker run -p 8080:80 \
-v /etc/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /etc/nginx/conf.d:/etc/nginx/conf.d:ro \
-v /var/log/nginx/:/var/log/nginx \
-v /var/www/html:/usr/share/nginx/html:ro \
--name nginx \
-d nginx:latest
参考资料
docker run后 logs报/docker-entrypoint.sh: 38: exec: -p: not found
安装docker-compose后没有docker了
原因
可能是因为 Docker Compose 安装程序升级了 Docker 版本,并且将旧版本 Docker 删除了。
解决方法
将docker清理干净再重新安装