#はじめに(メモと独り言)
DockerfileにVOLUMEの記述でマウントできるかなと思ったのですが、パーミッションエラーでたり、うまくいかないのでdocker-compose.yml使うことにしましたというお話です。
パーミッションよりそもそもマウントがうまくいっていないきが…。
DockerfileのBilud時はSucceseとかいったくせに…ぐちぐち( ´Д`)
ちなみにパーミッションのまとめ方以下サイトが自分の中でみやすくありがたかったのでここにメモします。メモメモ_φ(・_・
http://www.tohoho-web.com/wwwxx012.htm
気をとりなおして、copyでなくてマウントしたかったので上記タイトル内容おこなったこと、ここにメモしておきます。φ(・・
あと…
Docker自体の記事も書いているのでもしよかったらみてください。
https://qiita.com/sachiko-kame/items/35e0cf07d117c3b92613
#ちなみに用語の私的説明
####Dockerfile
Dockerのimageを作るために必要なもの。このイメージを実体化することによってコンテナできます。コンテナは一つのサーバーだと思ってくれればいいと思います。
####VOLUME
これは二つの意味がある気がしています。一つは置き場所を作る、いわばフォルダをつくるとでも思っておけばいいのかなと思っています。もうひとつはマウント。マウントはこの場所にあるけど、コンテナの指定したパスのところにあるようにして!って言っている感じの解釈です。
参考:http://docs.docker.jp/engine/tutorials/dockervolumes.html#mount-a-host-directory-as-a-data-volume
####パーミッション
権限。自分や他の人がなにまでやってもいいかというようなこと。
####copy
マウントではなくコピー。コンテナのそのパスにこの場所の内容コピーして!って感じ。マウントではないのでファイル操作しても変わらない。コンテナの中までいってファイル変更すれば、変更が反映されるかもですが。
#ファイル構成
※README.mdは今回の話に必要ないので消してもあってもなにも問題ないです💦
#ファイル中身(大事なところ)
Dockerfile ※Dockerhubのimageを書いてあるだけです。
From php:7.0-apache
```
```docker-compose.yml
version: '3'
services:
apache:
container_name: sample-apache-container
build: ./
ports:
- 80:80
volumes:
- ./html:/var/www/html
```
*version: '3'
バージョン3を使う。一番新しいかちょっと古いぐらいだと思います。
apache:
いい感じの名前をつけとく
container_name:
コンテナの名前好きな名前をつける
build: ./
Dockerfileのありか(./)記述
ここでのコンテナはこのDockerfileをイメージ化、コンテナ化したものを使う
ports:
コンテナ80ポートを自分のパソコン80ポートに繋げる。
左が自分、右がコンテナ
volumes:
- ./html:/var/www/html
自分のローカルファイル今いるところのhtmlフォルダをコンテナの/var/www/htmlフォルダのところにあるていにする
github (中身のところ) cloneしてこのフォルダに行って`docker-compose up`動くはずです(✿´ ꒳ ` )動かない。エラーの場合はコンテナとかが起動していないかと確認するといいかもです。
https://github.com/sachiko-kame/dockers/tree/master/yml_use_apache
#最後に
以上ナイーブな記事でした。:chicken:
こういう方法あるよとか、言っていること違うよとか、理解間違っているよなどありましたら、優しく教えていただけると嬉しいです:hatching_chick:
あと…
Docker自体の記事も書いているのでもしよかったらみてください。
https://qiita.com/sachiko-kame/items/35e0cf07d117c3b92613
sachikomemo
docker-compose up
docker-compose up --build