Debian wheezyで、はじめてのDocker
ちょっと古いけど、これがとても参考になります
つまったとこ
There is no public key available for the following key IDs:
apt-get update時にW: There is no public key available for the following key IDs:
というエラーが出る。
解決: How to fix no public key available for the following key IDs in debian – DEVGET.NET
% sudo apt-get install debian-keyring debian-archive-keyring
Depends: init-system-helpers (>= 1.18~) but it is not installable
apt-get install docker-engine時にDepends: init-system-helpers (>= 1.18~) but it is not installable
というエラーが出る。
init-system-helpers
をインストールしようにも
% sudo apt-get install init-system-helpers E: Package 'init-system-helpers' has no installation candidate
となる。
Unable to locate package linux-headers-amd64
上記の通りlinux kernelを3.8以上にしようとして、apt-get install linux-header-amd64するとUnable to locate package linux-headers-amd64
というエラーが出る。
解決: Install linux-headers on debian unable to locate package - Stack Overflow
% apt-cache search linux-header % sudo apt-get install linux-headers-amd64
だった。これにてrebootする。
Failed to fetch http://get.docker.io/ubuntu/dists/docker/main/binary-amd64/Packages 301 Moved Permanently
apt-get updateするときに上記のエラーが出る。
解決: https://docs.docker.com/installation/debian/
init.d/docker.listに書かれてるパッケージへの参照が古い。リンクの通り、以下に書き換える。
# Debian Wheezy deb https://apt.dockerproject.org/repo debian-wheezy main
あらためてsudo apt-get update
Package ‘lxc-docker’ has no installation candidate
apt-get install lxc-dockerをするとPackage 'lxc-docker' has no installation candidate
というエラーが出る。
パッケージ名が古い。今はdocker-engine
dockerインストールできた
% sudo apt-get install docker-engine # 略 Setting up cgroupfs-mount (1.1~bpo70+1) ... [ ok ] Mounting cgroupfs hierarchy. Setting up init-system-helpers (1.18~bpo70+1) ... Setting up libapparmor1 (2.7.103-4) ... Setting up docker-engine (1.8.3-0~wheezy) ... [ ok ] Starting Docker: docker. % which docker /usr/bin/docker % docker version
ひととおり見る
% docker help
- docker search {なんか} して、pull可能なimagesを探す
- めあてのimageをdocker pullする
- docker createでコンテナをつくる
- docker startでコンテナを起動する
- docker runやdocker attachなどでstartしたコンテナでいろいろする
- docker stopでコンテナを止める
- もはや使われないコンテナはdocker rmで削除する
という感じだろうか
docker search
とりあえずhostと同じdebianにしてみる
% docker search debian NAME DESCRIPTION STARS OFFICIAL AUTOMATED ubuntu Ubuntu is a Debian-based Linux operating s... 2443 [OK] debian Debian is a Linux distribution that's comp... 801 [OK] google/debian 47 [OK] neurodebian NeuroDebian provides neuroscience research... 13 [OK] armbuild/debian ARMHF port of debian 4 [OK] jesselang/debian-vagrant Stock Debian Images made Vagrant-friendly ... 4 [OK]
debian、でいいかな
docker pull
% docker pull debian # 略 Status: Downloaded newer image for debian:latest % docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE debian latest 3d88cbf54477 10 days ago 125.2 MB
おk
docker create
上記のimageを指定してcreateする
% docker create -i --name=oppai debian WARNING: Your kernel does not support memory swappiness capabilities, memory swappiness discarded.
おっぱいという名前のコンテナをつくった。メモリスワップができないらしい。まあよい。
できたか確認
% docker stats oppai
docker start
% docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES % docker start oppai oppai % docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0ca0410d118c debian "/bin/bash" 3 minutes ago Up 1 seconds oppai
ふむ、立ったっぽい。
docker attach
% docker attach oppai root@0ca0410d118c:/# root@0ca0410d118c:/# pwd / root@0ca0410d118c:/# cd root@0ca0410d118c:~# pwd /root root@0ca0410d118c:~#
仮想マシン(って言ったら怒られるのかな)に入れたっぽい
docker stop
なんかコンソールをexitしたときにすでにstopしてたっぽい
% docker ps
などで確認。
docker rm
startしていないコンテナもぜんぶpsしたい
% docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0ca0410d118c debian "/bin/bash" 7 minutes ago Exited (0) 2 minutes ago oppai
さようならおっぱい
% docker rm oppai oppai % docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
次は
Dockerfileを使った起動
DRYな備忘録として