Docker初心者がDockerについて勉強した時のメモです。
-v
$ docker run -v <host>:<container>
例
$ docker run -it -v <hostのマウントしたいフォルダ> : <コンテナのマウントする場所のフォルダ> <image> bash
- ホストのファイルシステムをコンテナにマウントする。
- マウントすることでホストのファイルシステムが実際にはないがコンテナにあるかのように振る舞える。
- コードを実行する実行環境として使う。
-
-v
で指定したコンテナのフォルダはコンテナにない場合自動で作成される
-u
$ docker run -u <user id><group id>
例
$ docker run -it -u $(id -u):$(id -g)
$id -u
ユーザーID確認、$id -g
グループID確認
- ユーザーIDとグループIDを指定してコンテナをrunする。
- アクセス権限を制限できる。
- 共有サーバー利用時に使うらしい。
-p
$ docker run -p <host_port>:<container_port>
例
$ docker run -it -p 8888:8888
- ホストのポートをコンテナのポートにつなげる
- 割り当てたポート番号でlocalhostにつながる。例で言うとlocalhost:8888にアクセスできる。
- コンテナにwebサービスを立てる時に使用。
リソースの上限
-
- -cpus<of cpus>
コンテナがアクセスできる上限のCPUを設定 -
- -memory<byte>
コンテナがアクセスできる上限のメモリを設定
例
$ docker run -it --cpus4 --memory2g
参考