トップページ情報技術DockerDocker Engine のインストールと使用法(Ubuntu 上)

Docker Engine のインストールと使用法(Ubuntu 上)

◆ この Web ページで行うこと.

Docker Engine のインストールと使用法(Ubuntu 上)を説明する.

用語説明

【このページの目次】

  1. 前準備
  2. Docker のインストール(Ubuntu 上)
  3. Docker を使ってみる
  4. Dockerfile を使い,イメージファイルを生成
  5. Docker 上でサーバを起動.ポートマッピングを行う

参考 Web ページ:

前準備

Ubuntu で OS のシステム更新を行うときは, 端末で,次のコマンドを実行.

Ubuntu のインストールは別ページで説明している

sudo apt -y update
sudo apt -yV upgrade
sudo /sbin/shutdown -r now

Docker のインストール(Ubuntu 上)

  1. 旧バージョンの削除
    sudo apt remove docker docker-engine docker.io containerd runc docker-ce docker-ce-cli
    
  2. Docker の公式の GPG キー
    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
    sudo apt update
    
  3. stable レポジトリのセットアップ
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu \
      $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
    
  4. 前提ソフトウエアのインストール
    sudo apt -y install apt-transport-https ca-certificates curl gnupg lsb-release
    sudo apt -y install software-properties-common linux-image-generic 
    

    パッケージをダウンロードしてインストールしたい場合には、 https://download.docker.com/linux/ubuntu/dists/ でバージョンを選び、 pool/stable 下のファイルを使う

  5. Docker Engine のインストール
    sudo apt -y install docker-ce docker-ce-cli containerd.io
    
  6. 権限の設定
    sudo usermod -aG docker $USER
    
  7. 自動起動の設定
    sudo systemctl unmask docker.service
    sudo systemctl enable docker
    sudo systemctl is-enabled docker
    
  8. Ubuntu システムの再起動
    sudo shutdown -r now 
    

Docker を使ってみる

コンテナとイメージの作成

  1. コンテナとイメージの作成

    ubuntu」のところは,「ubuntu:18.04」のようにバージョン指定するこtもできる.

    docker run -it --name myubuntu ubuntu /bin/bash 
    exit
    

    [image]
  2. コンテナとイメージの確認
    docker ps -a 
    docker images
    

    [image]
  3. すでに生成済みのコンテナでコマンドを実行

    まず「docker start ...」で,Docker コンテナを実行状態とし, まず「docker exec ...」でコマンドを実行している.

    docker start myubuntu
    docker exec -it myubuntu /bin/bash
    apt update
    apt -y upgrade
    apt -y install sudo 
    sudo apt -y install -y tzdata
    sudo apt -y install -y wget cmake git p7zip-full
    exit
    

    [image]

コンテナからイメージを作成

  1. docker commit により,コンテナからイメージを作成

    コンテナIDを指定する必要がある.コンテナIDは,「docker ps -a」で調べておく. 下の実行例では,イメージ名として「myubuntu:base」を指定している. 「myubuntu:base」は,自分の使いたいイメージ名を指定すること.

    docker ps -a
    docker commit <コンテナID> myubuntu:base
    

    [image]
  2. イメージが増えたことを確認
    docker ps -a 
    docker images
    

    [image]
  3. 確認のため,いま作成したイメージを使い,コンテナを作成してみる
    docker run -it myubuntu:base /bin/bash 
    exit
    

    [image]

Dockerfile を使い,イメージファイルを生成

  1. 空のディレクトリを作る
  2. そのディレクトリの中に,Dockerfile を次のように作成
    FROM ubuntu:18.04
    ENV DEBIAN_FRONTEND=noninteractive
    RUN apt update
    RUN apt -y upgrade
    RUN apt -y install sudo 
    RUN sudo apt -y install tzdata
    RUN sudo apt -y install wget cmake git p7zip-full
    RUN wget https://www.kkaneko.jp/tools/ubuntu/ubuntudonew.sh
    RUN touch /tmp/UBUNTU
    RUN /bin/bash ubuntudonew.sh
    

    [image]
  3. イメージの作成
    docker build -t myubuntu:base .
    

    [image]
  4. 確認のため,いま作成したイメージを使い,コンテナを作成してみる
    docker run -it myubuntu:base /bin/bash 
    exit
    
  5. docker commit により,コンテナからイメージを作成

    コンテナIDを指定する必要がある.コンテナIDは,「docker ps -a」で調べておく. 下の実行例では,イメージ名として「myubuntu:base2」を指定している. 「myubuntu:base2」は,自分の使いたいイメージ名を指定すること.

    docker ps -a
    docker commit <コンテナID> myubuntu:base2
    
  6. イメージが増えたことを確認
    docker ps -a 
    docker images
    
  7. 確認のため,いま作成したイメージを使い,コンテナを作成してみる
    docker run -it myubuntu:base2 /bin/bash 
    exit
    

Docker 上でサーバを起動.ポートマッピングを行う

sudo apt -y update
sudo apt -y install gufw
sudo ufw allow 8022
docker run -p 8022:22 -it myubuntu:base3 /bin/bash 
sudo adduser --uid 1234 --ingroup sudo --home /home/ai ai