3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

DockerのUbuntu18.04で遊ぶ

Posted at

はじめに

業務でAWSとか利用しているとCentOSやらUbuntuやらLinuxなEC2に触れることがあるかと思います。
Windowsを慣れ親しんでいた筆者は、正直言うと触るの怖いんです。
なぜ触るのが怖いのかを考えたところ、圧倒的にLinuxに触れている時間が少ないんです。
そこで、少しでも恐怖を克服しようと思いました。
しかし、LinuxOSを積んだPCなんて手元にありません。
AWSでEC2借りれば良くね?とも思いましたが個人用のAWSアカウント持っていませんし、
AWS良く分からないから変なことしまくって課金とかされたら怖いです。
手軽にやりたいです。。。

そこで思いついたのが、Windows上のDockerでUbuntu18.04を触るです。

※ Ubuntuの本格的な初期設定や使い方とかを紹介する記事ではありません。
※ ようはDockerを使いたかっただけです。

作業環境

OS: Windows 10 Pro
Docker: 19.03.2

紹介する技術

  • Chocolatey
  • Docker for Windows

Dockerの準備

まずは、Dockerを入れます。
※下記で紹介する導入例はWindows 10 Proのものになります。Windows 10 homeとは手順が異なります。

Windows上でのDockerの導入は色々やり方があります。
ちゃんとインスト―ラをダウンロードして設定していくほうが安全かもしれませんが、
面倒くさがりな筆者はWindows OS向けのパッケージマネージャツールChocolateyを使いました。
Chocolateyがあれば、Windowsで使用するようなソフトウェアを楽に管理出来ておすすめです。
choco install xxxみたいな感じで色々入れることが出来てしまいます。
Node.jsでいうところのnpmみたいなやつですね!
Chocolateyのインストールはコマンドプロンプトを管理者権限で開いて、下記のコマンドを実行したらいけました。

@"%SystemRoot%\System32\WindowsPowerShell\v1.0\powershell.exe" -NoProfile -InputFormat None -ExecutionPolicy Bypass -Command "iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))" && SET "PATH=%PATH%;%ALLUSERSPROFILE%\chocolatey\bin"

無事にChocolateyのインストールが終わったら、再びコマンドプロンプトを管理者権限で開き直して、下記のコマンドでDockerをいれます。

choco install -y docker-for-windows docker-desktop

Dockerのインストールはこれで終わりです。
Docker fow Windowsを使うときはHyper-vという仮想化システムを有効にする必要があります。
コントロールパネル→windowsの機能の有効化からHyper-Vを有効化にしましょう!

Ubuntu 18.04をDockerで導入しよう

ではDockerを使ってUbuntu 18.04を導入したいと思います。

# Ubuntu18.04のイメージをPullする
PS C:\Users\user\Desktop> docker pull ubuntu:18.04
# PullしたUbuntu18.04から名前をつけてコンテナを作成して起動する
PS C:\Users\user\Desktop> docker run -d -it --name="sample-1" ubuntu:18.04
b1161cc5a712a5c5ec0a233125b2caa7aee6fd099d723d5ff31c1d19174bcb94
# 作成したコンテナにbashで入る
PS C:\Users\user\Desktop> docker exec -it sample-1 bash
root@b1161cc5a712:/# 
# コンテナから抜け出す時は上記の状態で「exit」と入力してEnterします。

これだけです。これでUbuntu18.04で気軽に遊ぶ事ができます。
遊び終わったコンテナは下記のように気軽に削除もできます。

# コンテナを止めて削除
PS C:\Users\user\Desktop> docker stop b1161cc5a712a5c5e
PS C:\Users\user\Desktop> docker rm b1161cc5a712a5c5e

dockerコマンドやコマンドオプションについての詳細等はリファレンスを見ればすぐ分かります。

試しに遊んでみる

ではコンテナの中に入って遊んでみます。

Userを追加してみる

# ディレクトリの確認してみる
root@b1161cc5a712:/# ls
bin  boot  dev  etc  home  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
# Userがいないのでhome直下にはディレクトリがない
root@b1161cc5a712:/# ls home  # まだ空
# Userを追加
root@b1161cc5a712:/# adduser ubuntu
Adding user `ubuntu' ...
Adding new group `ubuntu' (1000) ...
Adding new user `ubuntu' (1000) with group `ubuntu' ...
Creating home directory `/home/ubuntu' ...
Copying files from `/etc/skel' ...
Enter new UNIX password:        # passwordを入力
Retype new UNIX password:       # passwordを再度入力
passwd: password updated successfully
Changing the user information for ubuntu
Enter the new value, or press ENTER for the default    # ネーム等の設定
        Full Name []:
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:
Is the information correct? [Y/n] y
# home直下にubuntuが出来上がっている
root@b1161cc5a712:/# ls home/
ubuntu
# Userを削除してみる(home直下のディレクトリごと)
root@b1161cc5a712:/# deluser ubuntu --remove-home
/usr/sbin/deluser: In order to use the --remove-home, --remove-all-files, and --backup features,
you need to install the `perl' package. To accomplish that, run
apt-get install perl.
# perlパッケージが無いと怒られてしまいました。
# パッケージのアップグレードをしてperlをインストールしてみる
root@b1161cc5a712:/# apt update && sudo apt upgrade -y # けっこう時間かかります
root@b1161cc5a712:/# apt-get install perl
# こんどこそユーザを削除
root@b1161cc5a712:/# deluser ubuntu --remove-home
root@be9946bbfde3:/# ls home # ubuntuディレクトリがなくなりました。

以上になります。
業務には役に立ちませんが、Ubuntu18.04を勉強するのにはちょうど良いかもしれませんね!

3
2
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
3
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?