LoginSignup
12
17

More than 1 year has passed since last update.

*Docker入門*Ubuntuの環境を構築する

Posted at

はじめに

こんにちは。今回は、Dockerの基本的な操作を学びながら、以下のようなUbuntuコンテナを作成することを目指します。

  1. 最も単純な、rootユーザで操作できるUbuntu(Linux)環境作成
  2. Dockerfileを活用し、一般ユーザで操作できるUbuntu(Linux)環境作成

Dockerのインストール

WindowsやMacにDockerをインストールする場合、Docker Desktopを使用します。Macについては以下を参考にしてください。

Windowsについては以下を参考にしてください。

Dockerの動作確認

Dockerを使用するには、Docker Desktopを起動しておく必要があります。Docker Desktopを起動した状態で、WindowsならPowerShell、Macならターミナルを開き、以下のコマンドを実行します。コマンドを実行してバージョンが表示されれば、Dockerの動作確認は完了です。

docker --version

Dockerイメージの取得

Dockerでは、コンテナを作成して、コンテナの中で開発を行います。Dockerやコンテナの基本的な知識がわからない方は、以下を参考にしてください。

では、早速コンテナを作っていきます。コンテナを作るには、その元となるイメージが必要です。イメージは、コンテナの元となるテンプレートの事です。

pullコマンドを使うことで、Docker HubというDockerが持つクラウドのリポジトリから、イメージをダウンロードできます。ここでは、Ubuntuイメージをダウンロードします。以下のコマンドを実行することで、Ubuntuイメージをダウンロードできます。

docker pull ubuntu

次に、ダウンロードしたdockerイメージの一覧を表示するために、以下のコマンドを実行します。Ubuntuイメージが表示されることを確認します。

docker images

Dockerコンテナの作成

次に、Dockerコンテナを作成します。runコマンドを実行することで、新たなコンテナを作成し、起動することができます。runコマンドで指定するオプションについては、Webで多くの解説記事があるので、そちらを参照してください。

docker run -it -d --name my-ubuntu ubuntu

コンテナ内に入る・出る

起動したコンテナに入るには、以下のコマンドを実行します。ここでは、Ubuntuのコンテナ内にあるbashを実行しています。これにより、コンテナ内でbashを使用したコマンド操作が可能になり、自由にUbuntuの環境として使用することができます。以上の方法でUbuntuコンテナを作成した場合、rootユーザで操作できる事がわかります。一般ユーザを使用したい場合のコンテナ作成方法は、本記事の後半で説明します。

docker exec -it my-ubuntu bash

コンテナから出るには、以下のコマンドを使用します。

exit

コンテナ一覧表示

実行中のコンテナ一覧を表示するには以下のコマンドを使用します。コンテナから出ただけでは、コンテナは停止しないため、psコマンドで表示されるはずです。

docker ps

起動・停止に関わらず、コンテナ一覧を表示するには以下のコマンドを使用します。コンテナを停止してから、psコマンドとps -aコマンドを比較すると違いがわかるので試してみましょう。

docker ps -a

コンテナの停止

コンテナを停止するには、以下のコマンドを使用します。

docker stop my-ubuntu

既存のコンテナの起動・操作

runコマンドで既に作成済みのコンテナが停止していた場合に起動するには、以下のコマンドを使用します。

docker start my-ubuntu

起動したコンテナに入るには以下のコマンドを実行します。

docker exec -it my-ubuntu bash

コンテナから出るには、以下のコマンドを実行します。

exit

コンテナを停止するには、以下のコマンドを実行します。

docker stop my-ubuntu

コンテナの削除

コンテナを削除するには、以下のコマンドを実行します。

docker rm my-ubuntu

イメージの削除

イメージを削除するには、以下のコマンドを実行します。

docker image rm ubuntu

以上で、Ubuntuのコンテナの作成・起動・停止・削除まで行いました。ここまでが、Dockerの基本的な使い方になります。ここからは少し応用で、Dockerfileというものを用いて、一般ユーザで操作できるUbuntuのコンテナを作成してみます。

Dockerfileの作成

ローカルのPCの/Users/ユーザ名/Documents/CustomImageフォルダに、Dockerfileを作成します。CustomImageフォルダ内には、Dockerfile作成するイメージに含めたいファイルのみを置いておく必要があります。また、Dockerfileは通常、Dockerfileというファイル名で作成します。以下のような内容のDockerfileを作成してみましょう。

Dockerfile
# M1 MacのみFROMの記述が必要
FROM --platform=linux/amd64 ubuntu:latest

# RUNコマンドは、コンテナ作成時に自動で実行するコマンドを指定
RUN apt update -y
RUN apt install -y sudo git make curl ssh vim emacs
# fogeというユーザを作成、fogefogeというPWを設定
RUN useradd -m -s /bin/bash foge
RUN echo "foge:fogefoge" | chpasswd
# sudoでroot権限のコマンドを実行できるように指定
RUN gpasswd -a foge sudo

# コンテナを指定したユーザで実行(rootユーザ以外で実行したい)
USER foge

# ワークディレクトリを設定
WORKDIR /home/foge/

次に、イメージを作成するためにbuildします。Dockerfileを置いたディレクトリに移動して、以下のコマンドを実行します。

docker build . -t ubuntu_image

イメージができていることを確認します。

docker images

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

docker run -it -d --name my-ubuntu ubuntu_image

作成したコンテナに入ります。

docker exec -it my-ubuntu bash

以上が、Dockerfileを使用した、一般ユーザでのUbuntuコンテナ実行方法になります。今後、Ubuntuコンテナを作成して作業する際の参考にしていただければと思います。

おわりに

本記事では、Ubuntu(Linux)を例にして、Dockerの基本的な使い方を解説しました。今後は、Dockerの基本的な操作を確認する際に、本記事を活用して思い出していただければと思います。

12
17
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
12
17