タグ付けされた質問 「docker」

Dockerは、コンテナーを構築して実行するためのツールです。Dockerfile、操作、アーキテクチャに関する質問を受け付けます。本番環境でのdockerの実行に関する質問は、ServerFault(https://serverfault.com/)でより適切な応答を見つける可能性があります。dockerタグが単独で使用されることはめったになく、多くの場合、docker-composeやkubernetesなどの他のタグとペアになります。

3
誰でもdocker.sockを説明できますか
ファイルにマウントする実際の理由を理解しようとしdocker.sockていdocker-compose.ymlます。自動検出用ですか? volumes: - /var/run/docker.sock:/var/run/docker.sock
130 docker 

6
Kubernetesでイメージを更新するためのデプロイを行う方法
次のようなカスタムDockerイメージを使用して、単一のポッドで展開しています。 containers: - name: mycontainer image: myimage:latest 開発中、新しい最新バージョンをプッシュして、Deploymentを更新したいと考えています。タグ/バージョンを明示的に定義せずにその方法を見つけることができず、ビルドごとにインクリメントして、 kubectl set image deployment/my-deployment mycontainer=myimage:1.9.1
130 docker  kubernetes 



8
Dockerfileの場合、外部引数を使用した条件
私はdockerfileを持っています FROM centos:7 ENV foo=42 それから私はそれを構築します docker build -t my_docker . そしてそれを実行します。 docker run -it -d my_docker コマンドラインから引数を渡し、Dockerfileで他の場合にそれを使用することは可能ですか?私のようなものを意味します FROM centos:7 if (my_arg==42) {ENV=TRUE} else: {ENV=FALSE} この引数を使用してビルドします。 docker build -t my_docker . --my_arg=42
129 docker  dockerfile 

8
Docker:dockerコンテナーでnanoを実行する
私はそのようにインタラクティブシェルをドッカーコンテナに開きます sudo docker exec -t -i {container_name} bash これまでのところ良好ですが、nano結果を実行しようとすると: 端末を開くときにエラーが発生しました:不明。
128 docker 

4
PythonプロジェクトのDockerイメージをビルドするときにパッケージの再インストールを回避するにはどうすればよいですか?
私のDockerfileは次のようなものです FROM my/base ADD . /srv RUN pip install -r requirements.txt RUN python setup.py install ENTRYPOINT ["run_server"] 新しいイメージをビルドするたびに、依存関係を再インストールする必要があるため、私の地域では非常に遅くなる可能性があります。 cacheインストールされたパッケージについて私が考える1つの方法は、次のmy/baseような新しいイメージでイメージをオーバーライドすることです。 docker build -t new_image_1 . docker tag new_image_1 my/base したがって、このDockerfileを使用して次回ビルドするとき、my / baseにはすでにいくつかのパッケージがインストールされています。 しかし、このソリューションには2つの問題があります。 常にベースイメージをオーバーライドできるとは限りません 新しい画像が重ねられるにつれて、ベース画像はどんどん大きくなります それで、この問題を解決するためにどのようなより良い解決策を使えますか? 編集##: 私のマシンのドッカーに関するいくつかの情報: ☁ test docker version Client version: 1.1.2 Client API version: 1.13 Go version …
128 python  docker 

5
MySQLのセットアップとDockerfile内のダンプのインポート
LAMPプロジェクトのDockerfileをセットアップしようとしていますが、MySQLの起動時にいくつかの問題があります。私のDockerfileに次の行があります: VOLUME ["/etc/mysql", "/var/lib/mysql"] ADD dump.sql /tmp/dump.sql RUN /usr/bin/mysqld_safe & sleep 5s RUN mysql -u root -e "CREATE DATABASE mydb" RUN mysql -u root mydb < /tmp/dump.sql しかし、私はこのエラーを受け取り続けます: ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111) Dockerfileのビルド中にデータベースの作成をセットアップし、インポートをダンプする方法に関するアイデアはありますか?
127 mysql  docker 

11
Dockerはインストールされていますが、Docker Composeはインストールされていませんか?どうして?
次のコマンドを実行して、centos 7にdockerをインストールしました。 curl -sSL https://get.docker.com/ | sh systemctl enable docker && systemctl start docker docker run hello-world 注:helloworldは正しく実行され、問題はありません。 ただし、docker-compose(docker-compose.ymlが存在し、有効である)を実行しようとすると、Centosでのみエラーが発生します(docker-composeファイルではWindowsバージョンが正常に機能します)。 /usr/local/bin/docker-compose: line 1: {error:Not Found}: command not found

6
Docker Machine:デバイスにスペースが残っていません
Docker ComposeでDocker Machineをセットアップしようとしています。 シナリオ1(Docker Machineなし)Docker Machineなしで 実行docker-compose up -dすると、3つのリンクされたコンテナーがインテント(nginx + mongodb + nodejs)として作成されます。 シナリオ2(Docker Machineを使用) 次に、Docker Machineを使用してVMを作成し、Dockerにそのマシンと通信するように指示しますeval $(docker-machine env streambacker-dev)ます。 この時点で、Dockerマシンにsshしてを実行するとdf -h、次のようになります。 次にを実行するdocker-compose up -dと、「デバイスに空き容量がありません」というエラーが表示されます、最後のコンテナのダウンロード中にれます。 "tmpfs"は実際にはその後少し一杯になっているようです: --virtualbox-disk-sizeオプションをチェックすると、デフォルトで20000 MBであることがわかります。これは、両方の画像で「/ dev / sda1」として表示されると思います。では、なぜ「tmpfs」nがコンテナでいっぱいになるのか、そして「tmpfs」とは正確には何なのでしょうか。一時ダウンロードディレクトリはありますか?コンテナ用により多くのスペースを作成するにはどうすればよいですか? ありがとう! 詳細については、Docker Machine 0.4.0-rc2とDocker Compose 1.3.2を使用しています。

4
dockerfileでローカルイメージをベースイメージとして使用するにはどうすればよいですか?
私はdockerfileに取り組んでいます。私はずっとFROM、インデックス付きの画像をずっと使用していることに気づきました。 だから私は思う: インデックスに追加FROMせずに、ローカル(カスタム)イメージの1つをベース()イメージとして使用するにはどうすればよいpushingですか?
126 docker 

5
docker composeでボリュームとしてホストディレクトリをマウントする方法
Docker化している開発環境があり、Dockerイメージを再構築せずに変更をライブリロードできるようにしたいと考えています。redisはアプリの依存関係の1つであり、redisコンテナーをリンクできるので、Docker composeを使用しています 私には2つのコンテナが定義されていdocker-compose.ymlます: node: build: ./node links: - redis ports: - "8080" env_file: - node-app.env redis: image: redis ports: - "6379" nodeアプリのdockerfileでボリュームを追加するポイントに到達しましたが、コードのすべてのライブ編集がコンテナーに反映されるように、ホストのディレクトリをボリュームにマウントするにはどうすればよいですか? これが私の現在のDockerfileです: # Set the base image to Ubuntu FROM node:boron # File Author / Maintainer MAINTAINER Amin Shah Gilani <amin@gilani.me> # Install nodemon RUN npm install -g nodemon …

9
Dockerコンテナーから環境変数を取得する
Dockerfileで宣言されていないdockerコンテナーから環境変数を取得する最も簡単な方法は何ですか? たとえば、いくつかのdocker exec container /bin/bashセッションを通じて設定された環境変数ですか? できdocker exec container env | grep ENV_VARますが、値を返すだけのほうがいいです。 私はを使用してみましたdocker exec container echo "$ENV_VAR"が、置換はコンテナーの外で行われているようです。そのため、コンテナーからenv変数を取得するのではなく、自分のコンピューターからenv変数を取得します。 ありがとう。

11
コンテナーをKubernetesで実行し続けるにはどうすればよいですか?
現在、Kubernetesクラスターでシェル(/ bin / bash)を使用した単純なコンテナーを実行しようとしています。 pseudo-tty分離オプション(コマンドの-tdオプションdocker run)を使用して、Dockerコンテナーでコンテナーを実行し続ける方法があると思いました。 例えば、 $ sudo docker run -td ubuntu:latest Kubernetesにこのようなオプションはありますか? 私はkubectl run-container次のようなコマンドを使用してコンテナを実行しようとしました: kubectl run-container test_container ubuntu:latest --replicas=1 しかし、コンテナーは数秒間終了します(docker run上記のオプションなしでコマンドを使用して起動するのと同じです)。そして、ReplicationControllerは繰り返し起動します。 コマンドの-tdオプションのように、Kubernetesでコンテナーを実行し続ける方法はありますdocker runか?


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.