2
Help us understand the problem. What are the problem?

More than 1 year has passed since last update.

posted at

Mac上でUbuntuを使用する時の【超基本】Dockerコマンド手順書

はじめに

「普段Macを使ってるんだけど、用途や目的に応じてUbuntuも使いたいんだよなー…」と思って、デュアルブートやらVirtualBoxやらをトライしてきたんですが、まず手軽にMac上でUbuntuを使うのであれば、Dockerを使うのが良いという結論に至りました!
これまでDockerという名前は聞いたことあるけど、意外とDockerをちゃんと使ったこと無い…というエンジニアは、実は多いんじゃないかと思います!
僕は過去に仕事でDockerを使ったことがあるんですが、割と入社してすぐだったということもあり、Dockerについてよく分からないまま数年経ってしまいました…
ということで今回を機に、【超基本】Dockerコマンド手順書を作って、「Dockerの基本はマスターできた!」と言える状態にしたいと思います!

1. Dockerイメージの検索

まず始めに、Docker HubにあるOSイメージを検索します。
Docker Hubとは、ユーザーが作成したDockerコンテナを公開したり共有することができるサービスです。

$ docker search ubuntu
NAME                                                      DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
ubuntu                                                    Ubuntu is a Debian-based Linux operating sys…   10214               [OK]                
dorowu/ubuntu-desktop-lxde-vnc                            Docker image to provide HTML5 VNC interface …   366                                     [OK]
rastasheep/ubuntu-sshd                                    Dockerized SSH service, built on top of offi…   236                                     [OK]
consol/ubuntu-xfce-vnc                                    Ubuntu container with "headless" VNC session…   197                                     [OK]
...

2.Dockerイメージのダウンロード

Docker Hubで公開されているDockerコンテナは、自由にダウンロードして、自分のサーバーにDockerイメージを保存することができます。

$ docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
7ddbc47eeb70: Pull complete 
c1bbdc448b72: Pull complete 
8c3b70e39044: Pull complete 
45d437916d57: Pull complete 
Digest: sha256:6e9f67fa63b0323e9a1e587fd71c561ba48a034504fb804fd26fd8800039835d
Status: Downloaded newer image for ubuntu:18.04
docker.io/library/ubuntu:18.04

3.保存済みDockerイメージのチェック

自分のサーバーに保存されているDockerイメージを確認します。

$ docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
ubuntu              18.04               775349758637        4 weeks ago         64.2MB

4.Dockerコンテナのデプロイ

保存済みのDockerイメージを用いて、Dockerコンテナを立ち上げます。
Dockerコンテナをデプロイする際、様々なオプションがあります。
オプションについて詳しく調べたい場合は、下記URLをご参照下さい。
https://docs.docker.com/v17.12/edge/engine/reference/commandline/run/
私が頻繁に使用するオプションは、--name-v-itの3つです。
--nameではコンテナ名を指定することができます。
-vではホストOSのディレクトリをゲストOSにマウントすることができます。
つまり、Dockerコンテナから、Mac上で使用している既存フォルダにアクセスできます。
最後に、-itにより、Dockerコンテナに対して擬似端末(pseudo terminal)を割り当てることができます。
Dockerコンテナ上でBashを使用することができるため、これは必須です。

$ docker run --name ubuntu_test1 -v ~/ws:/home/ -it ubuntu:18.04
root@c75e4e2811e0:/# 

5.パッケージのインストール

Linuxでパッケージをインストールする際は、まずアップデートして、その後必要なパッケージをインストールしていきます。

root@c75e4e2811e0:/# apt-get update
Get:1 http://security.ubuntu.com/ubuntu bionic-security InRelease [88.7 kB]
Get:2 http://archive.ubuntu.com/ubuntu bionic InRelease [242 kB]
...
Get:17 http://archive.ubuntu.com/ubuntu bionic-backports/main amd64 Packages [2496 B]
Get:18 http://archive.ubuntu.com/ubuntu bionic-backports/universe amd64 Packages [4235 B]
Fetched 17.3 MB in 6s (2837 kB/s)                                                                                                                                                                                  
Reading package lists... Done

私はテキストエディタとしてVimを使用するので、下記コマンドでVimを使えるようにしておきます。
同様な手順で、パッケージをインストールしていきます。

root@c75e4e2811e0:/# apt-get install vim
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following additional packages will be installed:
...

6.Dockerコンテナの終了

Dockerコンテナを終了して、ホストOSに戻る場合は、exitコマンドを使用します。

root@c75e4e2811e0:/# exit
exit

7.Dockerコンテナの状態チェック

Dockerコンテナの状態を確認する場合は、下記コマンドを使用します。
STATUSより、Dockerコンテナが終了していることも分かります。

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED              STATUS                      PORTS               NAMES
c75e4e2811e0        ubuntu:18.04        "/bin/bash"         About a minute ago   Exited (0) 13 seconds ago                       ubuntu_test1

8.Dockerコンテナの再開

終了したDockerコンテナを再開する場合は、docker startdocker attachコマンドを使用します。
デプロイの際に使用したコンテナ名を指定します。
以上の手順に従えば、環境構築済みのDockerコンテナを用いて継続的に開発を行うことができます。

$ docker start ubuntu_test1
ubuntu_test1
$ docker attach ubuntu_test1
root@c75e4e2811e0:/# 

おわりに

【超基本】のDockerコマンド手順書を作成しました。
Dockerの存在は知ってるけど、実際に使ったこと無い!使い方が実はよく分かってない!僕みたいなエンジニアにとって、役立つ記事になるんじゃないかと思ってます!
次はDockerfileの作成、運用方法についてもまとめてみようと思ってます!

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Sign upLogin
2
Help us understand the problem. What are the problem?