June 18, 2014

Vagrant + CoreOSでUbuntuのDockerイメージを作成して、パッケージを更新した後にコミットするまでのメモ

メモです。

最終的には、Dockerに対する理解を兼ねて、Vagrant + Chefで作った個人的なPHP用の開発環境 https://github.com/mamor/vagrant-phpdev-ubuntu みたいなことをDockerでできたら良いなーと思っています。

まず、Dockerコンテナを動かすための、VagrantなCoreOS環境を用意します。
$ git clone https://github.com/coreos/coreos-vagrant.git
$ cd coreos-vagrant/
$ vagrant up
$ vagrant ssh
以下、CoreOS内で実行します。
# Ubuntuイメージをダウンロードします。
$ docker pull ubuntu

# パッケージを更新します。
$ docker run ubuntu /bin/sh -c "apt-get update && apt-get upgrade -y"

# コンテナのプロセスを確認します。
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                CREATED              STATUS                      PORTS               NAMES
xxxxxxxxxxxx        ubuntu:14.04        /bin/sh -c 'apt-get    About a minute ago   Exited (0) 17 seconds ago                       distracted_torvalds

# 表示された"CONTAINER ID"をコミットします。
$ docker commit xxxxxxxxxxxx mamor/ubuntu-phpdev
yyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyyy

# コミットされていることを確認します。
$ docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
mamor/ubuntu-phpdev   latest              yyyyyyyyyyyy        22 seconds ago      315.2 MB
ubuntu                12.10               e314931015bd        13 days ago         172.1 MB
ubuntu                quantal             e314931015bd        13 days ago         172.1 MB
ubuntu                13.10               145762641db9        13 days ago         180.2 MB
ubuntu                saucy               145762641db9        13 days ago         180.2 MB
ubuntu                14.04               ad892dd21d60        13 days ago         275.4 MB
ubuntu                latest              ad892dd21d60        13 days ago         275.4 MB
ubuntu                trusty              ad892dd21d60        13 days ago         275.4 MB
ubuntu                13.04               6b0a59aa7c48        13 days ago         169.4 MB
ubuntu                raring              6b0a59aa7c48        13 days ago         169.4 MB
ubuntu                12.04               ae8682f4ff20        13 days ago         209.9 MB
ubuntu                precise             ae8682f4ff20        13 days ago         209.9 MB
ubuntu                10.04               3db9c44f4520        8 weeks ago         183 MB
ubuntu                lucid               3db9c44f4520        8 weeks ago         183 MB

# コミットしたイメージを起動してみます。
$ docker run -i -t mamor/ubuntu-phpdev /bin/bash
root@4290c049e05c:/# exit

# 不要となったコンテナのプロセスを削除します。
$ docker rm $(docker ps -a -q)
xxxxxxxxxxxx
zzzzzzzzzzzz

# プロセスが削除されたことを確認します。
$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

#Docker Hubへプッシュするには"docker login"と"docker push"を使います。
$ docker login
Username: mamor
Password:
Email: mamor@example.com
Login Succeeded
$ docker push mamor/ubuntu-phpdev:latest

No comments:

Post a Comment