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

Dockerは、アプリケーションのコンテナーを作成するためのアプリケーションです。

2
centos6のlocale-genコマンド
dockerコンテナである裸のcentos6.5システムでは、en_US.utf-8ロケールがありません: bash-4.1# locale -a C POSIX 通常、Ubuntuにはlocale-genこれを行うコマンドがあります。 # locale-gen en_US.UTF-8 # echo 'LANG="en_US.UTF-8"' > /etc/default/locale CentOS 6.5でこれを行うにはどうすればよいですか?
17 locale  centos  docker 

3
Dockerはコンテナー内の/etc/resolv.confファイルをオーバーライドします
resin/rpi-raspbian:jessieコンテナを次の/etc/resolv.confように設定したい: nameserver 208.67.222.222 nameserver 208.67.220.220 Dockerfileには次の行があります。 ADD resolv.conf /etc/resolv.conf この追加されたファイルには、正しいネームサーバーが含まれています。 私のDockerホスト/etc/resolv.confには正しい情報が含まれています。 私はこのようにコンテナを実行しています: docker run -itd --cap-add=NET_ADMIN --device /dev/net/tun \ -v /home/pi/share/ovpn:/ovpn \ --privileged --network=internet_disabled --name vpn-client \ --dns=208.67.222.222 \ openvpn-client_nat-gateway /bin/bash これにもかかわらず、コンテナは次の出力を提供します。 root@642b0f4716ba:/# cat /etc/resolv.conf nameserver 127.0.0.11 options ndots:0 コンテナ内から(またはdocker execを使用して)resolv.confを手動で変更した後にのみ、正しく表示されます。 むしろ、execコマンドで修正する必要はありません。誰がここで何が起こっているのか考えていますか?
17 docker 

4
Docker内でlsofを置換するにはどうすればよいですか(LXCベースではなくネイティブ)
Dockerコンテナー内でlsof -iは出力が得られないことに多少困惑しています。 例(コンテナ内からのすべてのコマンド/出力): [1] root@ec016481cf5f:/# lsof -i [1] root@ec016481cf5f:/# netstat -tulpn Active Internet connections (only servers) Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN - tcp6 0 0 :::22 :::* LISTEN - また、PIDまたはプログラム名がによって表示されないことに注意してくださいnetstat。fuserまた、やや紛らわしい出力が得られ、PIDを特定することもできません。 誰もこれに何か光を当てることができますか? どうすれば置換できますかlsof -i(プロセス名も表示されます!) なぜ出力もnetstat不自由になるのですか? 注:コンテナーはで"ExecDriver": "native-0.1"実行されます。これはLXCではなく、Docker独自の実行レイヤーです。 [1] root@ec016481cf5f:/# fuser …

1
cgroupfsとは何ですか?また、Dockerでどのように使用されますか?
Dockerのドキュメントには、ネイティブexecdriverのオプションに関する説明があります(https://docs.docker.com/engine/reference/commandline/daemon/)。ドキュメントは言う native.cgroupdriverオプションは、コンテナのcgroupの管理を指定します。cgroupfsまたはsystemdを指定できます。systemdを指定して使用できない場合、システムはcgroupfsを使用します。デフォルトでは、オプションが指定されていない場合、execdriverは最初にsystemdを試行し、cgroupfsにフォールバックします。この例では、execdriverをcgroupfsに設定します。 私の質問は、この場合cgroupfsとは何systemdですか?ツイートにcgroupfsつながったについての情報のグーグル: --exec-opt native.cgroupdriver = cgroupfs FTW。真剣に@ docker、systemdが管理するcgroupのサポートをやめました、それは災害です しかし、デフォルトとは異なる設定を使用するだけでなく、実際にこれが何をするかについて、誰かが詳細を提供できることを望んでいます。
16 linux  docker 

2
Waylandのコンテナでグラフィカルアプリケーションを実行するにはどうすればよいですか?
X11デスクトップを使用した場合、$DISPLAY変数と/tmp/X11-unixディレクトリを共有することで、Dockerコンテナでグラフィカルアプリケーションを実行できました。例えば: docker run -ti -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix some:ubuntu xclock 現在、Waylandを実行しているFedora 25にいるため、コンテナと共有するX11インフラストラクチャはありません。コンテナでグラフィカルアプリケーションを起動し、デスクトップに表示するにはどうすればよいですか?XWaylandで結び付ける方法はありますか?
15 x11  docker  wayland 

2
apt-get updateをいつ、なぜ使用する必要がありますか?
一般的な質問: コマンドapt-get updateが何をするのか、そしていつそれを使うべきなのかを説明してもらえますか? 備考 詳細な回答をお願いします。バージョンが本当に詳細でない限り、manページのコピーだけではありません(manページから1つの定義を以下に示します)。 apt-get update:ソースからパッケージインデックスファイルを再同期するために使用されます。利用可能なパッケージのインデックスは、/ etc / apt / sources.list(5)で指定された場所から取得されます。更新は、アップグレードまたはdist-upgradeの前に常に実行する必要があります。 サブ質問: パッケージインデックスはどこに保存されますか?データベース上?ファイルに? apt-get installキャッシュを更新せずに行うとどうなりますか?リモートパッケージがもう存在しなくなり、リンクが壊れる可能性はありますか? debリポジトリについて合意された政治家はいますか?たとえば、リポジトリにパッケージの最後のバージョンのみを含める必要がありますか、それとも特定の配布リリースで使用可能なすべてのバージョンをリポジトリに含める必要がありますか? 環境 私はDockerフレームワークを勉強しているので、質問します。その機能の1つはDockerfileで、このファイルから何らかの命令を実行することで、一種のOSイメージを構築できます。このイメージの特性の1つは、コンテキスト(ビルドの時間など)が何であれ、常に同じであることです。 apt-get update別の時間にコマンドを起動すると、結果が異なるため、画像が異なるのではないかと心配しています。
15 apt  docker 

3
Docker:特定のディレクトリに永続的なボリュームを作成する
Docker用の永続ボリュームを作成する必要があります。ボリュームには、名前を付けextra-addonsてに配置する必要があります/mnt/。 私はこのコマンドを実行します: sudo docker volume create /mnt/extra-addons 私はこのエラーメッセージを受け取りました: Error response from daemon: create /mnt/extra-addons: "/mnt/extra-addons" includes invalid characters for a local volume name, only "[a-zA-Z0-9][a-zA-Z0-9_.-]" are allowed. If you intended to pass a host directory, use absolute path 単に実行する場合:sudo docker volume create extra-addons、この問題に直面することはありませんが、を使用して問題のボリュームを検査する場合sudo docker inspect extra-addons、それは望ましくない場所にあることがわかります: [ { "CreatedAt": "2018-04-21T14:40:25+03:00", …
13 docker 

5
最小限のCentos Dockerコンテナにマニュアルページをインストールできない
最小限のCentos 7 Dockerイメージがあり、Dockerfileのデバッグに役立つマニュアルページを取得しようとしています。箱から出して、それは多くを持っていません: # man ls No manual entry for ls パーこのServerFaultの答え、私がインストールman-pagesRPMを、それは罰金を行くように見えました。 # yum install -y man-pages Loaded plugins: fastestmirror, ovl Loading mirror speeds from cached hostfile * base: mirror.vtti.vt.edu * extras: centos.mbni.med.umich.edu * updates: centos.netnitco.net Resolving Dependencies --> Running transaction check ---> Package man-pages.noarch 0:3.53-5.el7 will be installed --> …
13 centos  rpm  man  docker 

4
Docker +ブリッジ+ DHCP
ホストと同じLAN上でアドレス指定が必要なdockerコンテナーがたくさんあります。これまで、ブリッジを設定して手動でIPを割り当て、自分でIPを管理することで、これを達成してきました。スタートアップの例は次のようになります。 docker run \ --net="none" \ \ --lxc-conf="lxc.network.type = veth" \ --lxc-conf="lxc.network.ipv4 = 192.168.1.3/24" \ --lxc-conf="lxc.network.ipv4.gateway = 192.168.1.254" \ --lxc-conf="lxc.network.link = br0" \ --lxc-conf="lxc.network.name = eth0" \ --lxc-conf="lxc.network.flags = up" \ -d [Docker Image ID] /etc/network/interfaces(ubuntu)で定義されたブリッジを持つホストの場合: auto eth0 iface eth0 inet manual auto br0 iface br0 inet static address 192.168.1.2 …
13 dhcp  bridge  docker 

2
docker hello-worldを実行できません:デバイスのマウントポイントが見つかりません
dockerの新機能。 のソフトウェア管理ツールからdockerをインストールしましたmint 17。 私が実行する docker run hello-worldと、私は受け取ります: FATA[0000] Error response from daemon: Cannot start container a6bcc1ede2c38cb6b020cf5ab35ebd51b64535af57fa44f5966c37bdf89c8781: [8] System error: mountpoint for devices not found サービスログ(/var/log/upstart/docker.log)を見ると: ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not found in $PATH ERRO[0617] Couldn't run auplink before unmount: exec: "auplink": executable file not …

1
いくつかの疑似TTYを割り当てて、インタラクティブな方法でDockerfileからDockerコンテナーを構築できますか?
私はDockerfileの下からコンテナを構築します: FROM ubuntu:14.04 ... RUN apt-get update && apt-get install -y vim #RUN ssh-keygen -f /root/.ssh/id_rsa -N strongpass123$%^ RUN ssh-keygen -f /root/.ssh/id_rsa ... 私はめったにそれをしませんが、それの使用の前後に多くのコマンドがありssh-keygenます。 スクリプトからdocker exec -it thirsty_darwin sh script.sh画像にタグを付けて、画像にタグを付け、コンテナー(画像)のチェーンを使用できることはわかっていますが、私が望むほど明確な解決策ではありません。 最悪の場合でも、ssh-add ~/.ssh/id_rsaexpectツールを使用する必要がある場合です。期待ツールが私のパスワードをハードコード化した。私はそれをしたくありません。

4
シェルスクリプトを介してymlファイルを変更することは可能ですか?
これは私のdocker-compose.ymlがどのように見えるかです。 nginx: container_name: 'nginx' image: 'nginx:1.11' restart: 'always' ports: - '80:80' - '443:443' volumes: - '/opt/nginx/conf.d:/etc/nginx/conf.d:ro' links: - 'anything' 次に、シェルスクリプトを介してコンテンツを追加する必要があります(ubuntuサーバー上)。それが可能かどうかはよくわかりません: 新しい要素がnginx/links存在しない場合は、に追加します 追加のnewthingブロックなしnewthingブロックが存在されていない場合 新しいコンテンツは次のようになります。 nginx: container_name: 'nginx' image: 'nginx:1.11' restart: 'always' ports: - '80:80' - '443:443' volumes: - '/opt/nginx/conf.d:/etc/nginx/conf.d:ro' - '/etc/letsencrypt:/etc/letsencrypt' links: - 'anything' - 'newthing' newthing: container_name: foo image: 'newthing:1.2.3' …

2
Dockerにroot権限が必要なのはなぜですか?
私はDockerを学習していますが、とても気に入っています。 しかし、私は理解していません、なぜdockerはコンテナーの作成、ログの読み取りなどのためにroot特権を必要とするのですか? このような記事をいくつか読んだことがあります https://docs.docker.com/articles/security/ しかし、「dockerにはルートフォルダーへのアクセス権があるため、ルート権限が必要です」としか見えません。まあ、私はドッカーを非ルートとして実行して、外部システムの非ルートのユーザーが所有するフォルダーへのアクセスのみを許可してもかまいません。 なぜそれが問題なのですか?
11 docker 

2
Docker / LXCのAppArmorプロファイル
MySQLを実行するDockerコンテナー(LXC)があります。Dockerの背後にあるアイデアは一般に「コンテナごとに1つの実行プロセス」であるので、MySQLバイナリをターゲットとするAppArmorプロファイルを定義すると、それらは適用されますか?これをテストする方法はありますか?
11 lxc  apparmor  docker 

1
bashがインタラクティブなDockerコンテナ内で正しくサイズ変更されない
端末サイズが変更されるたびに、通常bashはresize自動的に変更され、LINESおよびCOLUMNSが正しく再計算されます。しかし、何らかの理由で、これはbashインタラクティブに実行されているDockerコンテナー内では機能しません。 私が持っているshopt checkwinsize -s私の中でbashrc(そしてそれがされていることを確認しドッカーコンテナにon使用しますshopt)。ホストbashセッションと同じです。 私は本当にアイデアがありません。ウィンドウのサイズが変更されたときに自動的に評価するshopt checkwinsize -sために私が見つけた唯一の方法です。bashresize
11 bash  docker 

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