仮想サーバ/docker/基本
提供: 初心者エンジニアの簡易メモ
目次
vm作成
defaultという名前でvmが起動する(virtualbox用)
docker-machine create --driver virtualbox default
vm一覧
$ docker-machine ls default * virtualbox Running tcp://192.168.99.100:2376 v1.10.0
vm起動
docker-machine start default
vm接続
docker-machine ssh default
vm停止・削除・ip
docker-machine stop default # 停止 docker-machine rm default # 削除 docker-machine ip default # ip (192.168.99.100)
docker仮想イメージ検索
centosの場合
$ docker search centos NAME DESCRIPTION STARS OFFICIAL AUTOMATED centos The official build of CentOS. 1911 [OK] jdeathe/centos-ssh CentOS-6 6.7 x86_64 / SCL/EPEL/IUS Repos /... 15 [OK] jdeathe/centos-ssh-apache-php CentOS-6 6.7 x86_64 / Apache / PHP / PHP M... 13 [OK] padster83/centos7-php7-laravel5 centos7 php7 and larvel5.1 4 [OK]
debianの場合
$ docker@default:~$ docker search debian NAME DESCRIPTION STARS OFFICIAL AUTOMATED debian Debian is a Linux distribution that's comp... 1892 [OK]
debian&php&nginxの場合
docker search debian/php/nginx NAME DESCRIPTION STARS OFFICIAL AUTOMATED pschmitt/owncloud Reasonably configurable Docker image for t... 21 [OK]
dockerイメージ取得(centos6.7)
dockerにログインしてから
$ docker pull jdeathe/centos-ssh Using default tag: latest latest: Pulling from jdeathe/centos-ssh a3ed95caeb02: Pull complete 3b231ed5aa2f: Pull complete 739732e8a1eb: Pull complete 4748cf13cce1: Pull complete b43cafb7f42b: Pull complete ecc6934ef96a: Pull complete d258b8324b77: Pull complete 0bf7d359e07c: Pull complete 34a742724dd4: Pull complete 646a068632d8: Pull complete a9397714f8e2: Pull complete 4b0007b85fa0: Pull complete 40cbdf152dd2: Pull complete a9a0656572df: Pull complete Status: Downloaded newer image for jdeathe/centos-ssh:latest
取得したイメージの確認
docker images REPOSITORY TAG IMAGE ID CREATED SIZE centos latest 61b442687d68 6 weeks ago 196.6 MB jdeathe/centos-ssh latest 09cc921e8147 6 days ago 253.3 MB
イメージの削除
以下どちらか
docker rmi 61b442687d68 docker rmi centos:centos7
コンテナを作成
docker run -d -it --name web1 jdeathe/centos-ssh:latest /bin/bash
80portも開放したい場合はこちら
docker run -d -it --publish 80:80 --name web1 jdeathe/centos-ssh:latest /bin/bash
80portを(localの9080とdockerの80で)開放したい場合はこちら
docker run -d -it --publish 9080:80 --name web1 jdeathe/centos-ssh:latest /bin/bash
起動ではなく生成なので注意。何度もrunすると幾つもコンテナが生成される。
nameにweb1といれたが指定しないとランダムで勝手に名前がつく。
コンテナ起動&接続
docker start web1 docker attach web1
コンテナの確認
$ docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e831d68bfbe7 centos:latest "/bin/bash" 20 minutes ago Exited (0) Less than a second ago 443/tcp, 0.0.0.0:50080->80/tcp drunk_ride 51930183904 centos:latest "/bin/bash" 18 minutes ago Exited (0) Less than a second ago web1
docker start sample1したものだけPORTSが割り当てられる
コンテナ停止
docker stop e831d68bfbe7
コンテナの削除
docker rm e831d68bfbe7
削除できない場合は(docker stop [name]とするか)以下コマンドで強制的に削除してdockerを再起動
docker rm -f e831d68bfbe7
起動してるコンテナ停止
docker stop $(docker ps -q)
コンテナの全削除
docker rm $(docker ps -aq)
docker pullでDownloading...のまま止まった時
”docker-machine stop"で停めてdocker-machineを再作成する
docker内のapacheでphp7を動作させる
$ docker-machine ip #ipを確認しておく(192.168.99.100) $ docker pull miyamotota/php7-centos67 # php7付きのimageを持ってくる $ docker run -d -it --publish 80:80 --name webphp7 miyamotota/php7-centos67:latest /bin/bash # 起動&80port開放 [root@8ff8c5a8cb27 /]# yum install httpd [root@8ff8c5a8cb27 /]# /etc/rc.d/init.d/httpd start
ローカルマシンからhttp://192.168.99.100へアクセスすると画面が開く
再接続の際は以下で接続できる
$ docker start webphp7 $ docker attach webphp7
docker-machineを複数作る&一部削除するとipが変化するので注意
docker内でweb_server動作確認
$ ip addr show | grep inet inet 127.0.0.1/8 scope host lo inet6 ::1/128 scope host inet 172.17.0.2/16 scope global eth0 inet6 fe80::42:acff:fe11:2/64 scope link $ wget -q -O - http://172.17.0.2/
iso場所
/Users/user1/.docker/machine/machines/dev/boot2docker.iso
参考
https://gist.github.com/tcnksm/7700047