1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【Dockerの基礎】イメージとコンテナの違い

Last updated at Posted at 2024-04-17

Dockerを何度か使用する機会があったのですが、イメージとコンテナの違いが自分の中ではっきりしないまま使用していました。
なので、これを機にイメージとコンテナの違いをまとめました。

Dockerとは

そもそもDockerとは、アプリケーションをコンテナという独立したパッケージにまとめて、それを動かすためのプラットフォームです。
Dockerのイメージは下の図のような感じです。

Dockerイメージ.png

1つのホストOS上で他のアプリケーションとの競合を意識することなく実行できるという特徴があります。
また、パソコンのプログラミング環境を汚すことなく、他の様々な開発を行うことができます。

Dockerイメージとは

簡単に言えば、コンテナの設計図です。
Dockerイメージをもとにして、Dockerコンテナを作成します。
Dockerイメージには、アプリケーション実行に必要な、設定ファイル・ライブラリ・アプリケーションがまとまっています。

Dockerコンテナとは

Dockerコンテナは、Dockerイメージをもとに作成される仮想環境のことです。
コンテナは、コード・ランタイム(プログラムの動作に必要なソフトウェア)・システムツール・ライブラリなど、必要なすべてのものを含んでいるので、どの環境でも同じように動作します。
また、各コンテナは独立しているため、互いに影響を受けずにプログラムを動作させることができます。

Docker起動までの流れ

基本的には、以下の流れでDockerを起動します。

1. DockerHubなどのリポジトリからイメージを取得(pull)
2. イメージからコンテナを作成(create)
3. コンテナを起動(start)

しかし、手順2.3.はまとめて行うこともできます(run)

1. DockerHubなどのリポジトリからイメージを取得(pull)

DockerHubからコンテナのイメージを取得します。

$ docker pull イメージ名

以下が実行例です。

//例
$ docker pull nvidia/cuda:11.3-cudnn8-devel-ubuntu20.04

2. イメージからコンテナを作成(create)

Dockerイメージからコンテナを作成します。

$ docker create --name コンテナの名前 イメージ名

以下が実行例です。

//例
$ docker create container nvidia/cuda:11.3-cudnn8-devel-ubuntu20.04

3. コンテナを起動(start)

コンテナを起動します。

$ docker start コンテナの名前

以下が実行例です。

//例
$ docker start container

2.3.コンテナを作成して起動(run)

Dockerイメージからコンテナを作成してコンテナを起動します。

$ docker run イメージ名

以下が実行例です。

//例
$ docker run nvidia/cuda:11.3-cudnn8-devel-ubuntu20.04
1
1
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
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?