Dockerのお勉強
概要
Build once, run anywhere
Docker - Build, Ship, and Run Any App, Anywhere
VagrantでUbuntuを用意する
Vagrantは、開発環境の構築と共有を簡単に行うためのツールです。どこでも同じ環境を再現できるように仮想マシン環境を管理する機能と、Atlasを通して共有する仕組みが提供されています。
開発環境の構築・共有を簡単にするVagrant入門 | Think IT(シンクイット)
A list of base boxes for Vagrant - Vagrantbox.es
Official Ubuntu 14.04 daily Cloud Image amd64 (Development release, No Guest Additions) をインストール
sudo apt-get install vagrant vagrant box add trusty64 https://cloud-images.ubuntu.com/vagrant/trusty/current/trusty-server-cloudimg-amd64-vagrant-disk1.box sudo apt-get install virtualbox mkdir Docker && cd Docker vagrant init vagrant up vagrant ssh
こうするとvagrant user で以下のように起動できていることが確認できる
vagrant@vagrant-ubuntu-trusty-64:~$
Dockerで環境構築
docker-ceのインストール
Get Docker CE for Ubuntu | Docker Documentation
UbuntuにDocker CEをインストールする - Qiita
確認:sudo docker --version
imageの操作
sudo docker search centos sudo docker pull centos sudo docker images sudo docker inspect centos:latest sudo docker rmi <id> sudo docker run centos echo "hello world" sudo docker ps -a -n=5 (a:過去を表示、-n:最新5つ) sudo docker rm <id> sudo docker run -d centos free -s 3 sudo docker ps sudo docker logs <id> sudo docker attach --sig-proxy=false <id> sudo docker kill <id> sudo docker start <id> sudo docker run -i -t centos /bin/bash (-i:インタラクティブ, -t:ターミナル) touch hello.txt exit sudo docker ps -a sudo docker commit <id> robonchu/hello sudo docker images sudo docker run -i -t robonchu/hello /bin/bash ls
これでhello.txtがあることが確認できる
docker build
emacs -nw Dockerfile
FROM centos MAINTAINER robonchu <robonchu@gmail.com> # RUN: build時に実行 RUN echo "now building..." # CMD: run時に実行 # CMD echo "now running..." CMD ["echo", "now running..."]
以下でrun commitの動作、つまりimageからcontainer、そして、imageにする動作が行えることが確認できる
sudo docker build -t robonchu/echo . sudo docker run robonchu/echo
さらに emacs -nw Dockerfile
RUN yum install -y httpd ADD ./index.html /var/www/html/ EXPOSE 80 CMD ["/usr/sbin/httpd", "-D", "FOREGROUND"]
emacs -nw index.html
<html> hello from Docker! </html>
sudo docker build -t robonchu/httpd . sudo docker run -p 8080:80 -d robonchu/httpd
ウェブページを開いて、192.168.55.44:8080でhello from Docker!がでていることを確認
Imageをpush
上記の登録が必要
sudo docker login sudo docker push robonchu/httpd
参考
https://dotinstall.com/lessons/basic_docker
Dockerでよく使うコマンドまとめ | 酒と涙とRubyとRailsと
さわって理解するDocker入門 第1回 | オブジェクトの広場