😸

Dockerを使ってLinux環境を構築(docker compose)

に公開

前提条件

  • Docker がインストールされていること
  • docker compose(Docker CLIの一部)がインストールされていること

1. プロジェクトのディレクトリを作成

Linux環境を構築するために必要なディレクトリを作成。適当な場所にディレクトリを作成し、その中に移動。

mkdir my-linux-env
cd my-linux-env

2. Dockerfileの作成

次に、Dockerのイメージを定義するために、Dockerfileを作成する。このファイルには、コンテナの基本となるLinux環境を構築する手順が書かれている。

以下の内容を Dockerfile という名前で保存。

# 使用する基本イメージを指定
FROM ubuntu:latest

# パッケージリストを最新化し、必要なパッケージをインストール
RUN apt-get update && apt-get install -y \
    curl \
    vim \
    git

# コンテナ起動時に実行するコマンドを指定(ここではbash)
CMD ["bash"]

このDockerfileは、Ubuntu 最新をベースに、curl、vim、gitなどの一般的な開発ツールをインストール。

3. docker-compose.ymlの作成

次に、docker composeを使ってコンテナを構成するためのdocker-compose.ymlファイルを作成。これにより、複数のコンテナを簡単に管理できる。

以下の内容を docker-compose.yml という名前で保存。

services:
  my-linux:
    build: .
    container_name: my-linux-container
    volumes:
      - ./data:/data
    ports:
      - "8080:80"
    stdin_open: true
    tty: true
  • my-linuxというサービスを定義。
  • build: .で、現在のディレクトリにあるDockerfileを使用してイメージをビルド。
  • コンテナ内のポート80をホストのポート8080にマッピング。
  • ボリューム./dataをコンテナ内の/dataにマウント。
  • コンテナ内で対話型の端末を開くためにstdin_openとttyを有効に。

4. コンテナのビルドと起動

Dockerfileとdocker-compose.ymlが準備できたら、次のコマンドでコンテナをビルドして起動する。

docker compose build
docker compose up -d

docker compose up -dコマンドでコンテナをバックグラウンドで起動し、-dオプションはデタッチモード(バックグラウンド)で実行するために使用。

5. コンテナにアクセス

コンテナが起動したら、次のコマンドでコンテナにアクセス。

docker exec -it my-linux-container bash

これでコンテナ内のBashシェルにアクセスできるようになり、Linux環境を利用することができる。

6. コンテナの停止と削除

作業が終わったらコンテナを停止し削除する。

docker compose down

これでコンテナと関連するネットワークが削除される。

Discussion