dockerメモ(いろいろ)

dockerのなかでコンテナをrestartしようとすると以下のようなエラーがでた。

[root@mineda gonbei]# docker restart 6844

Error response from daemon: Cannot restart container 6844: driver failed programming external connectivity on endpoint pensive_boyd (4cd3e3364d678c22872e55bac1850bbf1a05d5c6dd0d2cf5b3c3079235619bef): (dbus: connection closed by user)

対策:

systemctl restart docker

してから、docker startする。

docker run実行時のiptablesエラー対策

Docker 管理のネットワークファイルの再構成をします。

# mv /var/lib/docker/network/files /tmp/docker-iptables-err # systemctl restart docker

I'm using a docker image which was built using the USER command to use a non root use

の場合にrootになる方法:

docker exec -u 0 -it mycontainer bash

dockerのofficial ubuntu:latestで、build-essential がconflict error:

The following packages have unmet dependencies:

build-essential : Depends: libc6-dev but it is not going to be installed or libc-dev

Depends: g++ (>= 4:4.4.3) but it is not going to be installed

`─> apt-get clean & apt-get update で解消する

dockerコンテナ(centos6)でchefを使うためのメモ

openssh-clients tar

dockerの保存場所の移動

Moving docker images location to different partition が参考になる。

  • 以下のようにrsync に -aXS というオプションを与えるのがミソかも。-a だけだと、コピー先が異常に大きくなる。

rsync -aXS /var/lib/docker/. /usr/local/docker/

最新版dockerバイナリのインストール

$ wget https://get.docker.com/builds/Linux/x86_64/docker-latest -O docker $ chmod +x docker

dockerコンテナイメージ(?)のインポート

’ー’を忘れないのがミソ

(例)docker import - anagix/alb2 </tmp/alb2.tar

Chefコンテナ http://downloads.getchef.com/chef-container/

  • docker pull chef/ubuntu-12.04:latest

chef-serverコンテナ

dockerのデバッグ: http://jpetazzo.github.io/2014/06/23/docker-ssh-considered-evil/

  • nsenterをインストール
      • /usr/local/binにnsenterと docker-enterが入る
      • docker psで、コンテナのIDを調べる
      • docker-enter (コンテナ ID) /bin/bashj
      • これで、sshと同じことができる
  • docker-enter で、以下のエラー nsenter: failed to execute su: No such file or directory
  • 対策:/usr/local/bin/docker-enter の中で、su - root を /bin/su -u root に変更すれば動く
      • docker run -v /usr/local/bin:/target jpetazzo/nsenter