若干時代遅れ感があるが、Windows10以外の場合はこれしかない。仮想マシンを介してDockerを操作する。仮想マシンのIPはデフォルト192.168.99.100になる。アクセスする場合もこのIPを利用する。
docker run -d --name httpd -p 80:80 httpd
GUIツールだが、最近の情報がないのであまり使われてない印象。
docker pull jenkins/jenkins:lts cd /tmp
tfujiinoMacBook-Pro:tmp t_fujii$ docker run -d -v `pwd`/jenkins_home: /var/jenkins_home -p 8080:8080 -p 50000:50000 jenkins/jenkins:lts
/tmpとかじゃないとエラーが出る!
設定を確認 | docker-compose config |
pull | docker-compose pull |
ビルド | docker-compose build |
全部まとめて再起動 | docker-compose restart |
全部まとめて実施 | docker-compose up -d |
全部まとめてログ表示 | docker-compose logs |
作成されたdockerイメージの確認 | docker-compose images |
Multi stage build | 中間成果物を無くして、イメージスリム化 |
https://takatorix.hatenablog.com/entry/2017/04/27/012516
Docker Hub | PUBLICに公開されているDockerイメージリポジトリ |
Docker repository | 公開できないのであればPrivateリポジトリを立てる。AWSなどではAmazon ECRとして提供されている。コンテナでもregistryで提供されている |
Dockerfile | Dockerコンテナーの構成とDockerイメージの作成を一括で行う。イメージ上でコマンドを実施したりできる |
Volume Container | 永続データを配置したいときに利用する |
デーモン起動 | -d |
ホストのボリュームマウント | -v /var/tmp:/var/www/html |
ポート | -p 8080:80 |
環境変数 | -e foo=var |
docker exec -it コンテナID bash
そのほかにもport, top,などがある。
軽くやってみる | 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/#/ |
docker pull mysql docker run --name mysql -e MYSQL_ROOT_PASSWORD=mysql -d -p 3306:3306 mysql #停止して削除 docker stop mysql docker rm mysql
mysql -u root -pmysql
docker pull eugeneware/docker-wordpress-nginx docker run -p 80:80 --name docker-wordpress-nginx -d eugeneware/docker-wordpress-nginx
docker export でtarファイルへ docker importでtarファイルからdockerイメージへ
2016/03現在ベータ版だが、ネイティブでDockerを動かせるというもの。Hyper-Vを利用しているためWindows10以降
VirtualBox経由のDockerを操作するがそれをひとまとめにしてくれているツール。
yum install docker-io
systemctl start docker Error starting daemon: Error initializing network controller: Error creating default \"bridge\" "network: package not installed"とでて失敗。OpenVZには入れられないということで終了!
docker search キーワード | Docker Hubからイメージ検索 |
docker pull centos | centosイメージを持ってくる |
docker images | 今ローカルにあるイメージ一覧 |
docker ps | 動いているDockerプロセス |
ctrl+p,ctrl+q | 抜ける |
docker attach [CONTAINER ID] | 再びアタッチ |
docker run hello-world | 表示するだけ |
docker run -d -P --name web nginx | web |
DockerImageTrustを有効にしている場合、自作のイメージは署名なしでは実行できない。 export DOCKER_CONTENT_TRUST=0で解消。