やあっとDockerに慣れてきた

 最近やっと、Dockerに慣れてきまして、Dockerに表示されるエラーの意味、Dockerfileの書き方などがわかってきました。今回は、Dockerで覚えていることをまとめてみようと思います。便利なdocker-composeもあるのですがそれはまた今度。

 まず、Dockerfileの書き方です。Dockerfileは、Dockerのイメージを作成するためのファイルです。Dockerfileの書き方は、以下のようになります。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
FROM ubuntu:latest
RUN apt-get update
RUN apt-get install -y ruby
RUN apt-get install -y ruby-dev
RUN apt-get install -y build-essential
RUN gem install rails
RUN gem install bundler
RUN apt-get install -y nodejs

WORKDIR /app
COPY Gemfile /app/Gemfile
COPY Gemfile.lock /app/Gemfile.lock
RUN bundle install
COPY . /app

RUNを何回も書いていますが、省略することもできます。以下のように書くこともできます。

1
2
3
4
5
6
7
8
FROM ubuntu:latest
RUN apt-get update && apt-get install -y ruby ruby-dev build-essential && gem install rails bundler && apt-get install -y nodejs

WORKDIR /app
COPY Gemfile /app/Gemfile
COPY Gemfile.lock /app/Gemfile.lock
RUN bundle install
COPY . /app

こうして、Dockerfileを作成したら、Dockerfileがあるディレクトリで以下のコマンドを実行します。

1
docker build -t <イメージ名> .

すると、Dockerfileからイメージを作成することができます。イメージを作成したら、以下のコマンドでコンテナを作成します。

1
docker run -it -v <ローカルのディレクトリ>:<コンテナのディレクトリ> -p <ローカルのポート>:<コンテナのポート> <イメージ名>

これで、コンテナを作成することができました。コンテナを作成したら、以下のコマンドでコンテナを起動します。

1
docker start <コンテナ名>

これで、コンテナを起動することができました。コンテナを起動したら、以下のコマンドでコンテナに入ります。

1
docker exec -it <コンテナ名> bash

これで、コンテナに入ることができます。コンテナに入ったら、以下のコマンドでコンテナを停止します。

1
exit

こうすることで、コンテナを停止することができます。コンテナを停止したら、以下のコマンドでコンテナを削除します。(必ずコンテナを削除しなければならないものではないですが、コンテナは使い捨てと思っておいた方がよいでしょう。)

1
docker rm <コンテナ名>

これで、コンテナを削除することができます。コンテナを削除したら、以下のコマンドでイメージを削除します。(イメージは特に毎回削除する必要はないですが、今後使う予定のないイメージは、ストレージのためにも削除で良いと思います。)

1
docker rmi <イメージ名>

もし、存在する全コンテナを削除したい場合は、以下のコマンドでコンテナを全て削除します。

1
docker rm $(docker ps -a -q)

これで、コンテナを全て削除することができます。 そして、すべてのイメージを削除したい場合は、以下のコマンドでイメージを全て削除することができます。

1
docker rmi $(docker images -q)

これで、イメージを全て削除することができます。 もし、Dockerの使用を終了したいときは以下のコマンドでDockerを停止します。(まあまあメモリ食われてます。私の場合、)

1
docker stop

これで、Dockerを停止することができます。以下のコマンドでDockerを起動することができます。

1
docker start

これで、Dockerを起動することができます。もし、Dockerの起動がおかしいのなら以下のコマンドでDockerを再起動することができます。

1
docker restart

いやあコマンドばっかりで覚えきれないですよね。もし、メモリやストレージが多いPCをお持ちの方ならDocker Desktopを使用されると良いと思います。 GUIで操作できるので、コマンドを覚える 必要が少しなくなります。僕は、Docker Desktopを使用しています。おすすめですよ。

Licensed under CC BY-NC-SA 4.0
Built with Hugo
Theme Stack designed by Jimmy