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の保存場所の移動
  • 以下のように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をインストール
    • docker run -v /usr/local/bin:/target jpetazzo/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 に変更すれば
    動く
Comments