VirtualBox内で動作するubuntuにはdockerがinstallされていないので、installする。
この際にインストールするのは docker ではなくて、 docker.io 。
全く違うものなので、間違えるとこんなエラーが出るので注意。 参考記事 Segmentation Fault or Critical Error encountered. Dumping core and aborting.
12345
vagrant@ubuntu-14:~$ docker -v
The program 'docker' is currently not installed. You can install it by typing:
vagrant@ubuntu-14:~$ sudo apt-get install docker.io
vagrant@ubuntu-14:~$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
再度バージョンを調べる。
12
vagrant@ubuntu-14:~$ docker -v
Docker version 0.9.1, build 3600720
バージョンが古いので最新にする。
123
vagrant@ubuntu-14:~$ curl -s https://get.docker.io/ubuntu/ | sudo sh
vagrant@ubuntu-14:~$ docker -v
The program 'docker' is currently not installed.
vagrant@ubuntu-14:~$ sudo docker run ubuntu /bin/cat /proc/version
Linux version 3.13.0-24-generic (buildd@panlong) (gcc version 4.8.2 (Ubuntu 4.8.2-19ubuntu1) ) #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014
vagrant@ubuntu-14:~$ sudo docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
fdeecfacf437 ubuntu:latest "/usr/bin/perl -e 'w 5 minutes ago Up 5 minutes trusting_brattain
以下からのコマンドは、CONTAINER IDを引数にとるので、aliasにしておく
1
vagrant@ubuntu-14:~$ alias cid='sudo docker ps -l -q'
$ vim Vagrantfile
・・・
config.vm.network "forwarded_port", guest: 49153, host: 49153
・・・
$ vagrant up
$ vagrant ssh
vagrant@ubuntu-14:~$ sudo docker run -p 11211 -it ko2ic/memcached /usr/bin/memcached -u memcache -vv
別のターミナル(mac)で接続してみる
12345678
$ telnet localhost 49153
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stat
ERROR
vagrant@ubuntu-14:~$ mkdir docker
vagrant@ubuntu-14:~/docker$ vim Dockerfile
FROM ubuntu
RUN apt-get update
RUN apt-get install -y memcached
RUN apt-get clean
CMD ["/usr/bin/memcached", "-vv"]
USER memcached
vagrant@ubuntu-14:~/docker$ sudo docker build -t ko2ic/memcached2 ~/docker/
Dockerfileの CMD は docker run 時の起動コマンドになる
イメージができているか確認後、起動してみる
12345678
vagrant@ubuntu-14:~/docker$ sudo docker images
REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE
ko2ic/memcached2 latest 6ba44a313a00 30 seconds ago 282.8 MB
vagrant@ubuntu-14:~/docker$ sudo docker run -p 11211 -it ko2ic/memcached2
・・・
<29 server listening (udp)
・・・
他のターミナルで接続してみると成功していることがわかる
12345678
$ telnet localhost 49153
Trying ::1...
telnet: connect to address ::1: Connection refused
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
stat
ERROR