docker exec 报错,怎么回事?
过去多啦不再A梦
过去多啦不再A梦 2017-04-26 09:02:13
0
2
1170
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梦

全員に返信(2)
小葫芦
  1. docker exec エラーは、/bin/bash ファイルが存在しないためです。/bin/sh などを試すことができます。

  2. ホストマシンの /mnt/data/web/nginx.conf.d ディレクトリに nginx.conf ファイルがあるかどうかを確認します。

  3. docker の使用はベストプラクティスに従っていません。Web サーバーの構成については、Docker の実践 (8): Laravel 開発環境の構築を参照してください。

  4. Docker を学習する前に、Snail Under the Bridge-Docker Q&A (93 の質問) をよくお読みください。

いいねを押す +0
阿神

docker exec -it web-server bash
nginx と PHP-fpm の 2 つのサービスを同じコンテナーに配置しないことをお勧めします
この docker を参照して nginx と php-fpm をデプロイできます

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート