>  Q&A  >  본문

docker exec 报错,怎么回事?

admin@ubuntu:/mnt/data/web$ sudo docker exec web-server -i -t /bin/bash
rpc error: code = 13 desc = invalid header field value "oci runtime error: exec failed: container_linux.go:247: starting container process caused \"exec: \\\"-i\\\": executable file not found in $PATH\"\n"

顺便,我还有个问题,我的dockerfile文件内容如下

FROM ubuntu:latest
RUN apt-get -qq update
RUN apt-get install -qqy nginx php-fpm php-mcrypt
RUN rm -rf /var/lib/apt/lists/*
EXPOSE 80 443
CMD ["/etc/init.d/nginx", "start"]                               

我build好之后,运行之后容器会退出,然后我start:

admin@ubuntu:/mnt/data/web$ sudo docker start -a -i web-server
cat: /etc/nginx/nginx.conf: No such file or directory
 * Starting nginx nginx
   ...fail!

就这样。这是怎么回事?
我run的命令如下:

sudo docker run --name web-server --link db-mysql:mysql -v /mnt/data/web/htdocs -v /mnt/data/web/nginx.conf.d:/etc/nginx -p 80:80 -p 443:443 -d nginx-php:latest

我都在公司在虚拟机里面都试过了一边,回家跑到我的vps上去搞,就是搞不成,气死我。。。。。

过去多啦不再A梦过去多啦不再A梦2705일 전1105

모든 응답(2)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-26 09:04:13

    1. Docker exec가 /bin/bash 파일이 없기 때문에 오류를 보고합니다. /bin/sh 등을 시도해 볼 수 있습니다.

    2. 호스트 머신의 /mnt/data/web/nginx.conf.d 디렉토리에 nginx.conf 파일이 있는지 확인하세요.

    3. Docker 사용은 모범 사례를 따르지 않습니다. 웹 서버 구성에 대해서는 Docker 실습(8): Laravel 개발 환경 구축을 참조하세요.

    4. Docker를 배우기 전에 Snail Under the Bridge-Docker 질문 및 답변(93문항)을 주의 깊게 읽어보세요.

    회신하다
    0
  • 阿神

    阿神2017-04-26 09:04:13

    docker exec -it web-server bash
    nginx와 PHP-fpm 두 서비스를 동일한 컨테이너에 넣지 않는 것이 좋습니다
    이 docker를 참조하여 nginx와 php-fpm을 배포할 수 있습니다

    회신하다
    0
  • 취소회신하다