-Dockerやってみよう

#contents

*インストール [#q4f8be84]

-Windows,MacであればDocker toolboxを使うべし
-CentOS7であればyum install dockerでOK

**Docker toolbox [#p08ffa98]

若干時代遅れ感があるが、Windows10以外の場合はこれしかない。仮想マシンを介してDockerを操作する。仮想マシンのIPはデフォルト192.168.99.100になる。アクセスする場合もこのIPを利用する。

 docker run -d --name httpd -p 80:80 httpd 

**kitematic [#h374fea5]

GUIツールだが、最近の情報がないのであまり使われてない印象。


*用語集 [#tffa9306]

|Docker Hub|PUBLICに公開されているDockerイメージリポジトリ|
|Docker repository|公開できないのであればPrivateリポジトリを立てる。AWSなどではAmazon ECRとして提供されている。コンテナでもregistryで提供されている|
|Dockerfile|Dockerコンテナーの構成とDockerイメージの作成を一括で行う。イメージ上でコマンドを実施したりできる|
|Volume Container|永続データを配置したいときに利用する|


*いろいろ試してみる [#s60bcbdd]

**共通手順 [#ncc3e451]

+docker pull イメージ名 
+docker run オプション イメージ名

**オプション [#bb4e7d07]

|デーモン起動|-d|
|ホストのボリュームマウント |-v /var/tmp:/var/www/html|
|ポート|-p 8080:80|
|環境変数|-e foo=var|

**Dockerの内部にbashで接続 [#i619e230]

 docker exec -it コンテナID bash

そのほかにもport, top,などがある。

***様々なミドルウェアを試してみた [#s7918881]

|軽くやってみる|docker run -it --name "test" centos /bin/bash||
|httpdを8080でデーモン起動|docker run -d -p 8080:80 httpd||
|jenkins|docker run -p 8080:8080 -p 50000:50000 jenkins||
|jenkins外部ボリューム|docker run -p 8080:8080 -p 50000:50000 -v /var/tmp:/var/jenkins_home jenkins||
|Solr4 ボリュームマウント|docker run     -p 127.0.0.1:8983:8983     -v /var/tmp:/etc/opt/solr/cores/your-awesome-core:ro     2degrees/solr4|http://localhost:8983/solr/#/|

**MySQL [#u38b30c3]

 docker pull mysql
 docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3306:3306 mysql
 #停止して削除
 docker stop mysql
 docker rm mysql

-削除しないと以下のエラー
Error response from daemon: Conflict. The name "mysql" is already in use by container 2b37289bb606. You have to remove (or rename) that container to be able to reuse that name.


-接続するにはDockerマシンのIPに対して

 mysql -u root -pmysql 

**Wordpress/Nginx [#o8e89459]

 docker pull eugeneware/docker-wordpress-nginx
 docker run -p 80:80 --name docker-wordpress-nginx -d eugeneware/docker-wordpress-nginx

*ファイルシステムへの保存 [#x66cc831]

docker export でtarファイルへ
docker importでtarファイルからdockerイメージへ


*ツール [#u2310ef7]

**Docker for Mac and Windows [#x9b1ab6a]

2016/03現在ベータ版だが、ネイティブでDockerを動かせるというもの。Hyper-Vを利用しているためWindows10以降

**Docker toolbox [#b4dd7743]

VirtualBox経由のDockerを操作するがそれをひとまとめにしてくれているツール。

**CentOS6(非推奨) [#haab25f4]

 yum install docker-io

*起動してみる [#c7f820ad]
 
 systemctl start docker
 Error starting daemon: Error initializing network controller: Error creating default \"bridge\" "network: package not installed"とでて失敗。OpenVZには入れられないということで終了!

*基本操作 [#q14e67c8]

|docker search キーワード|Docker Hubからイメージ検索|
|docker pull centos|centosイメージを持ってくる|
|docker images|今ローカルにあるイメージ一覧|
|docker ps|動いているDockerプロセス|
|ctrl+p,ctrl+q|抜ける|
|docker attach [CONTAINER ID]|再びアタッチ|

**試しにやってみる [#o47dd014]

|docker run hello-world|表示するだけ|
|docker run -d -P --name web nginx|web|


*トラブルシューティング [#gcca1968]

**docker: you are not authorized to perform this operation: server returned 401.. [#s21b87b1]

DockerImageTrustを有効にしている場合、自作のイメージは署名なしでは実行できない。
export DOCKER_CONTENT_TRUST=0で解消。


*さくらのVPSにインストール [#z332ceea]

*Azureの仮想マシンにインストール [#s05af2b0]



*Oracle on Docker [#o02464a7]

https://github.com/oracle/docker-images

トップ   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS