LoginSignup
0
0

More than 3 years have passed since last update.

【学習メモ】Docker(Docker運用の流れ、Linux操作、コマンド操作の基本)

Posted at

なぜDockerを採用するのか?

コンテナ1つ作れば、テスト環境・本番環境もコンテナ起動でOKになるから

Dockerなしの場合
1回1回、テスト・開発・本番環境ごとにインストーラをダウンロード、起動、エラー修正しなきゃいけない

しかもチーム開発だと、全く同じバージョンの同じアプリで同じ挙動をしないといけないため大変

Linuxについて

・Linuxのコンテナ技術を利用するので、Linuxの知識が必要
・Linux:Unixをベースに1から作ったオープンソースのOS
・ターミナルでは、Shellを仲介してKernelに命令を出している
・Shell:bazh,zsh,shなど
・Shellを起動するために必要なアプリがターミナルであって、Shell=ターミナルではない

Dockerを使ってみる

運用の流れ
・Docker imageを管理するDockerHubから自分のhostに、Docker imageを持ってくる
・Docker imageをbashでコンテナ起動
・コンテナでの作業が終わったらexitかdetach
・Hostに戻ったときに、現在のコンテナの状況をps-a、imagesで確認
・exit状態にあるコンテナを再起動
・コンテナをcommitして新しいimageを作成する(=更新内容をDocker imageにする)
・DockerHubにアップする際、リポジトリ名と一致する必要があるので、古いimageを新しいimage名に変更する
・その後保存したDocker imageをDockerHubにpushする
※タグ=バージョン管理

コマンド操作の例

$ docker login                     #Dockerにログイン
$ docker pull <image>              #DockerHubからDocker imageを出力
$ docker run -it <image> bash      #bashはshell。そのDocker imageでコンテナ起動
$ exit                             #コンテナでの作業を終了
$ docker ps-a                    #Dockerコンテナ一覧を確認
$ docker images                #Docker images一覧を確認
$ docker restart                 #Dockerを再起動
$ docker exec -it <container> bash #特定のコンテナで作業開始
$ docker commit <container><image>  #特定のコンテナの変更をDocker imageに反映
$ docker tag <source> <target>     #Docker imageの名前を変更
$ docker push <image>              #Docker imageをリポジトリにpush
$ docker rmi <image>               #Docker imageを削除

参考

米国AI開発者がゼロから教えるDocker講座

0
0
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
0