⚠️ 記事内に広告を含みます。

Dockerのインストールから起動確認まで

dockerのインストール方法

https://docs.docker.com/engine/install/

インストールの準備

dockerインストールに必要なyum-utilsをインストールします

# yum install yum-utils

最新版のdockerを入れる場合は古いdockerを削除します。

 sudo yum remove docker*

dockerインストールする方法

インストール方法は下記のURLで対応するOSの項目を確認してください。
以降はUbuntuでインストールする方法です。

Ubuntuでインストトールする場合

古いDockerがあれば削除する(初めてのインストールなら不要)
$ sudo apt-get remove docker docker-engine docker.io containerd runc

## 完全にまっさらな状態にしたいなら下記の手順も実行する
$ sudo apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin

$ sudo rm -rf /var/lib/docker
$ sudo rm -rf /var/lib/containerd
リポジトリのセットアップ
$ sudo apt-get update
$ sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

$ sudo mkdir -p /etc/apt/keyrings
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
$ echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
dockerのインストール
$ sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin
動作確認
$ sudo docker run hello-world

hello-worldのイメージを実行して表示されればOK

dockerをインストールするシェルスクリプト

#!/bin/bash
sudo apt-get remove docker docker-engine docker.io containerd runc
sudo apt-get update
sudo apt-get install \
    ca-certificates \
    curl \
    gnupg \
    lsb-release

sudo mkdir -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

sudo apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

dockerコンテナを停止する方法

使い終わったコンテナを停止・削除しましょう

起動したままのコンテナを作成

##distrolessのイメージのうちシェルを含むdebugイメージ(base-debian11:debug)を起動 -iは--interactiveで標準入力を受け付け、-tはコンテナにttyを割り当て -dはデタッチ
$ docker run -d -it --name debian-base gcr.io/distroless/base-debian11:debug


##起動したコンテナを確認
$ docker ps
CONTAINER ID   IMAGE                                   COMMAND                  CREATED         STATUS         PORTS      NAMES
c0cfd74bdb1b   gcr.io/distroless/base-debian11:debug   "/busybox/sh"            5 seconds ago   Up 4 seconds              debian-base

## デタッチされているのでコンテナにアタッチしてシェルに入る
$ docker attach debian-base
/ # ls
bin      busybox  etc      lib      root     sbin     tmp      var
boot     dev      home     proc     run      sys      usr
/ # pwd
/
# exit

## exitして抜けるとコンテナが停止する
$ docker ps 
CONTAINER ID   IMAGE                                   COMMAND                  CREATED         STATUS         PORTS      NAMES

コンテナの一覧を取得する

$ docker ps -a
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS    NAMES
91a0a442e00d   hello-world   "/hello"   5 minutes ago   Exited (0) 5 minutes ago            magical_edison

## docker psだと起動中のコンテナのみ表示
$ docker ps
CONTAINER ID   IMAGE         COMMAND    CREATED         STATUS                     PORTS    NAMES

コンテナの停止

コンテナの停止はstop, コンテナの削除はrmで行います。

$ docker stop debian-base
$ docker rm debian-base

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です