更新前【docker】docker buildとupの違いを簡潔に説明する
目次
結論:比較表
| コマンド | 何をする | 結果 |
|---|---|---|
docker build |
イメージを作る | イメージができる(まだ動いてない) |
docker-compose up |
コンテナを起動 | サービスが実際に動く |
docker-compose up --build |
ビルド+起動 | 両方やる |
docker build
Dockerfileを元にイメージを作成するコマンドです。
docker build -t my-app .
オプションの意味は以下です:
| 部分 | 意味 |
|---|---|
-t my-app |
イメージに「my-app」という名前(タグ)をつける |
. |
現在のディレクトリにあるDockerfileを使う |
これを実行するとイメージが作られるだけで、コンテナはまだ動いていない。
Dockerfileの例
FROM node:18-alpine
WORKDIR /app
COPY package*.json ./
RUN npm install
COPY . .
EXPOSE 3000
CMD ["npm", "start"]
スポンサードサーチ
docker-compose up
docker-compose.ymlに定義されたサービスをまとめて起動するコマンドです。
docker-compose up
既存のイメージを使ってコンテナを起動する。イメージがなければ自動でビルドされる。
docker-compose.ymlの例
version: '3.8'
services:
app:
build: .
ports:
- "3000:3000"
volumes:
- .:/app
depends_on:
- db
db:
image: mysql:8.0
environment:
MYSQL_ROOT_PASSWORD: password
MYSQL_DATABASE: myapp
docker-compose up –build
イメージのビルドとコンテナの起動を同時にやるコマンドです。
docker-compose up --build
Dockerfileを変更したときはこれを使う。--buildをつけないと古いイメージのまま起動してしまう。
スポンサードサーチ
まとめ
普段は docker-compose up、Dockerfile変えたら docker-compose up --build って覚えておけばOK。







