1
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MacでLinux環境をサクッとつくる

Last updated at Posted at 2024-02-24

Linux OSについての基礎知識を、実践を通して身につけたい。

でも、
・UTM(仮想化ソフト)は、重すぎて使えなかった
・新しいPCを用意するのは、ハードルが高い

どうにか手元にあるMac PCでLinux環境を簡単に作れないものか...

という悩みを、Dockerを使用してUbuntu(Linuxの一種)の仮想環境を構築することで解決しました。
この記事では、その方法についてシェアします。

はじめに

この記事の想定読者

  • インフラ(特にOS)の初学者
  • Linuxの環境を簡単に作って触りたい人

この記事で書くこと

Ubuntuの仮想環境の構築手順

この記事で書かないこと

  • Dockerそのものについての詳細な説明
  • Dockerのインストール方法(こちらを参照)

環境条件

  • MacBook Air
    • チップ: M1
    • OS:  Ventura 13.5.1
  • Dockerバージョン: 23.0.5

MacでLinux環境を構築する方法

以下の3ステップで作れます

  1. Dockerファイルを作成する
  2. ビルドする
  3. 起動する

1. Dockerファイルを作成する

今回はLinuxの環境を作るのがゴールなので、以下のようにOSとコマンドを1つ設定したファイルを使用します。

dockerfile
# 最新のUbuntuイメージを使用
FROM ubuntu:latest

# コンテナ起動時に実行されるコマンド
CMD ["bash"]
クリックしてDockerファイルの説明を見る
要素 説明
 FROM  どのOSを動かしたいか 
 CMD  「CMD ["bash"]」 で、コンテナ起動直後にubuntu内で操作できる

2. ビルドする

以下のコマンドを実行します。

docker build -t my_ubuntu .
クリックしてビルドコマンドについて説明を見る
要素 説明
 -t  イメージ名を指定する
※「ubuntu」以外の名前に指定すること 
 .  Dockerfileを作成したディレクトリ
※上記コマンドの場合は、現在のディレクトリ

以下のように表示されれば、正常にビルド完了です。
[+] Building 112.2s (9/9) FINISHED

3. 起動する

以下のコマンドを実行します。

docker run -it --name my_container my_ubuntu bash
クリックして起動マンドについて説明を見る
要素 説明
 -it  コンテナ内に入り、コマンドラインで操作したい時に指定する
 --name  任意のコンテナ名を指定する
 bash  どのシェルを使用してコマンドライン操作するかを指定する
※今回はbashを使用

以下のようにプロンプトが表示されれば、Ubuntuの環境を起動完了です。 
root@0c01adbb637f:/myapp#

使用後はdocker stop コンテナ名でコンテナを停止します(起動したまま放置するとリソース食うので)。


最後に1点補足です。
以下のように、Dockerファイルを作成しなくても、コマンドでもっと簡単にUbuntuの環境を構築する方法はあります。

docker run -it ubuntu:latest

ただ、Dockerfileを作成する方法も自分でカスタマイズできて便利なので、こちらの方法を紹介しました。

「カスタマイズできる」というのは、たとえば、上記コマンドで構築したUbuntu環境では、sudopythonが使えません。

$ docker run -it ubuntu:latest
(中略)
Status: Downloaded newer image for ubuntu:latest
root@e03a5cdbd2f9:/# sudo ls
bash: sudo: command not found                            //sudoコマンドがない
root@e03a5cdbd2f9:/# python --version
bash: python: command not found                        //pythonがない

これらを使用したいとなった場合、起動後に、逐一apt-get install -y パッケージ名を実行してインストールする必要があります。
一方で、Dockerfileに以下のように記述・起動することで、上記操作の手間を省けます。

dockerfile(sudoとpythonを導入する例)
# 最新のUbuntuイメージを使用
FROM ubuntu:latest

# 以下のように記述することで、起動時に各パッケージが利用できる状態になる
RUN apt-get update && apt-get install -y \
    python3 \ 
    sudo

# コンテナ起動時に実行されるコマンド
CMD ["bash"]

最後までお読みいただき、ありがとうございました。

1
4
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
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?