0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Dockerで使うコマンドメモ

Last updated at Posted at 2020-08-21

あとでもう少しまとめる。

自分:Docker全然知らないけど、Webのコーディングする人(タスクランナー動かせるけどプログラム分かりません)
やりたいこと:PHPとかのサーバー環境をまるっと再現して、ローカルで開発したい。

▼ Docker for Mac をインストール

▼ イメージを探して、ローカルにインストール

公式のイメージで古いバージョンは、tagで探す。
https://hub.docker.com/_/php?tab=tags&page=174
今回探してたのが、phpの5.2だったけど、公式にはもうなかった。

一旦、PHP5.4 + apacheを入れる。

docker pull php:5.4.34-apache

▼ イメージ一覧 をみる

docker images
docker image ls

▼ コンテナ作成

docker run

-v (--volume) オプションは、ホストのボリュームまたはディレクトリをコンテナに割り当てます。複数指定可能です。-v ホスト側:コンテナ側 で指定しますが、ホスト側が / で始まる名前の場合はディレクトリを指定します。

Web開発(ページ作成)においては、
-v <開発フォルダのドキュメントルートフォルダ>:<コンテナのドキュメントルート> という理解。

▼ ホスト?とコンテナ?マウント?

概念的なものが分からなかったのでここ結構つまづきつつ。
参考サイトに分かりやすい図があったので引用。

docker-v01.png
Dockerのバインド・マウントを利用する[-v]

? コンテナのルートってどうやって知る??
→ 適当にimage 作って作成したコンテナに bash で入ってルートを確認して ↑ボリュームオプションを設定したコンテナを作り直した。これは正しく無い気がする…。

▼ 作成したコンテナに bash で入る

docker container exec -ti "NAME" bash

▼ 作成したコンテナから抜ける

▼ コンテナの停止

docker stop

▼ コンテナの再起動

docker restart "NAME"

▼ ハマった点

古い php を動かそうとしたら、 mb系の関数が使えない。
Dockerの公式PHPコンテナでmb系関数を使うにはmbstringモジュールをインストールします

▼ いろいろ

動かすまで行けた。
php5.2は、他の人がアップしているイメージが結構ありそうではあるんだけど。動かないことが多い。と言うかドキュメントがないものが多くて、ちょっと何していいかわかんなかった。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?