😸
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