フリーランス チャレンジ!!

フリーランス チャレンジ!!

週休4日制に俺はなる!

【Docker入門】コンテナの起動はrunではなくstart

f:id:ksakae1216:20161130213320p:plain

みなさん、コウタロウです!!

 

今日はタイトルについて。

 

 

勘違いしていたDockerのコンテナ起動

Dockerのコンテナ起動について、ネットで調べると"docker run"で起動しようというページばかり

 

なのでてっきりDockerのコンテナ起動は"docker run"だと思ってました

 

コンテナが増えてく

"docker run"で起動、"docker stop"で停止を繰り返すとコンテナが増えていく

このように起動、停止を繰り返すと

f:id:ksakae1216:20161130205854p:plain

 

f:id:ksakae1216:20161130210108p:plain

うぉっ、メチャメチャ増えてる!!

 

調べると"docker rm コンテナID"でコンテナを消せるらしい

 

でも待てよ?!

 

起動の度に、コンテナが増えて、増え過ぎたら自分で消さなきゃいけない?

そんなことは無いはず

 

runではなくstart

やっぱり違った、runではなくstart

 

"docker start"でコンテナIDもしくは名前(NAME)で起動できる

そしてコンテナは増えない

f:id:ksakae1216:20161130211318p:plain

 

例えばMySQL(IMAGEがmysql:5.6)を起動する場合、"docker start コンテナID"で起動できます

f:id:ksakae1216:20161130211853p:plain

はい、無事起動できました(STATUSがUpになりました)

 

でも、コンテナIDだと面倒ですね

 

そこでまた少し調べたらコンテナIDは一意に識別できればOKだという情報が

私の環境の場合、コンテナIDが

"32"で始まるのがMySQLで

"34"で始まるのがnginx

 

MySQLを起動したい場合、"docker start 32"で起動することができます

f:id:ksakae1216:20161130212443p:plain

便利ですね

 

ちなみに停止も同じ方法でできるので"docker stop 32"でMySQLを停止することができます

 

後、当然コンテナIDだけでなく、NAMESでも起動、停止ができるので

"docker start mysql5.6"でMySQLを起動

"docker stop mysql5.6"でMySQLを停止

となります

 

最後に

いや~ずっと勘違いしてました

Docker使う人は常識なのかな?

自分の調べ方が悪かったのかな?

 

入門サイトみても"run"しか書いてない気がするんだけど

 

もし、私と同じように悩んでいる人がいたらこの記事みればもう大丈夫だね!!