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