Posted at

DockerHubにあるimageを使ってCakePHPを表示、少し中をみるまで…


はじめに

今回使うDockerHubのimageがあるところは、以下URLです。

https://hub.docker.com/r/quantumobject/docker-cakephp

$はうつコマンドの前につけてあるだけなので$部分は打たないでください。

あと以下で行うのは本格的開発には向いていません。少しみて少し中いじいじしたいんだと言う方へ向けたものです(/ω\)


使ってみる

●まずはCakePHPの表示を行うまで

・はじめにDockerを使えるようにするまでの私のいつもの手順のcommand書いておきます。

Docker始めるまでの記事も書いたのでもしよかったらみてください。

//defaultマシーン起動

$ docker-machine start default
//環境変数の確認
$ docker-machine env default
//環境変数の適応
$ eval "$(docker-machine env default)"

・早速URL先のimageをとってきてbuild、Runまで行う。

$ docker run -d -p 80 quantumobject/docker-cakephp

はい。たったの一行です。完了するまで環境にもよりますが15分ほどでしょうか?

終わったら現在Dockerで走っているのにこれがあるか見てみます。

$ docker ps

走っていれば以下のようになってます。

スクリーンショット 2019-07-15 22.32.37.png

ポート32769で動いているようです。

これで0.0.0.0:32769で表示できる方もいるかもしれませんが私はここで表示されているipの確認をしないといけないので確認をします。

$ docker-machine ip default

あとは、表示されたipアドレスを使い、

http://<ここipアドレス>:32769/ な感じでアクセスすれば出来ます。

スクリーンショット 2019-07-15 22.35.57.png


  • 表示出来たのでだいぶ満足なのですが中も少しみてみます。
    まずは今動いているものを表示。表示されたら一番左に表示されているCONTAINER IDを使います。
    え~たくさんあるぞって方は一番右から2番目にIMAGE名が表示されているのでそれがquantumobject/docker-cakephpのものを

$ docker ps


  • 動いているコンテナに入る

$ docker exec -it <先ほどのCONTAINER ID> bash


  • 本体色々と入っているところまで移動(/var/www以下)

$ cd /var/www

スクリーンショット 2019-07-15 23.24.42.png


  • もう少し中身をみる。

$ cd src

スクリーンショット 2019-07-15 23.26.14.png

ちなみに抜けるのは、

$ exit

で出来ます。


おまけ

っといっても本当これだけだと中身みるだけで終わってしまいます。vimコマンド使えない…。

なのでvimコマンド使えるようにするためだけにDockerfileを作ります。

vimコマンド使えるのに参考にさせていただいたのは以下の記事です。

https://qiita.com/YumaInaura/items/3432cc3f8a8553e05a6e


Dockerfile

FROM quantumobject/docker-cakephp

RUN ["apt-get", "update"]
RUN ["apt-get", "install", "-y", "vim"]


で、そのDockerfileがある場所までいき、以下コマンドをうちimageを作成します。タグ名をcakephpaddviとしています。

$ docker build -t cakephpaddvi .

とりあえずimageが出来てるか確認

$ docker images

次にここでRUNしたいのですが、先ほど入っているものがあるとRUN出来ないので一回とめます。

起動確認

$ docker ps

起動確認で得たコンテナIDを使い止める
$ docker stop <コンテナID>

準備出来たので早速RUNします。先ほど上で出てきたコマンドのimagem名が変わっただけです。

あとは上で行ったように中に入ったり、もう編集もできると思うので編集して中をいじいじしてみてください(✿´ ꒳ ` )

$ docker run -d -p 80 cakephpaddvi


最後に

以上!終わりです!