# Ubuntu 22.04 安裝 Docer、Docker-composer
###### tags: `Docker` `Docker-composer` `Ubuntu`
## 更新 Ubuntu
打開終端機,輸入下列指令
```com=
$ sudo apt update
$ sudo apt upgrade
$ sudo apt full-upgrade
```
## 添加 Docker 安裝路徑
安裝必要的證書並允許 apt 包管理器使用以下命令通過HTTPS使用儲存庫:
```cmd=
$ sudo apt install apt-transport-https ca-certificates curl software-properties-common gnupg lsb-release
```
添加 Docker 的官方 GCP 密鑰:
```cmd=
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
```
添加 Docker 官方安裝路徑:
```cmd=
$ 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
```
更新 Ubuntu:
```cmd=
$ sudo apt update
```
## 安裝 Docker
安装最新 Docker CE
```cmd=
$ sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin
```
或者指定 Docker 版本
```cmd=
$ apt-cache madison docker-ce
```
輸出
> docker-ce | 5:20.10.17~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.16~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.15~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.14~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
docker-ce | 5:20.10.13~3-0~ubuntu-jammy | https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
挑選列表中的任一版本安裝。
> 例如5:20.10.16~ 3-0 ~ubuntu-jammy:
```cmd=
$ sudo apt install docker-ce=5:20.10.16~3-0~ubuntu-jammy docker-ce-cli=5:20.10.16~3-0~ubuntu-jammy containerd.io
```
查看 Docker 運行狀況
```cmd=
$ systemctl status docker.service
```
輸出
> docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: <font color=#00ff00>active (running)</font> since Tue 2023-05-30 02:31:50 UTC; 42min ago
TriggeredBy: ● docker.socket
Docs: https://docs.docker.com
Main PID: 16599 (dockerd)
Tasks: 32
Memory: 30.6M
CPU: 1.119s
CGroup: /system.slice/docker.service
├─16599 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
├─16800 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 8080 -container-ip 192.168.3.3 -container-port 80
└─16808 /usr/bin/docker-proxy -proto tcp -host-ip :: -host-port 8080 -container-ip 192.168.3.3 -container-port 80
>
> May 30 02:31:49 integratedplatformdev dockerd[16599]: time="2023-05-30T02:31:49.563455293Z" ...
如果服務沒有啟動,輸入下列命令:
```cmd=
$ sudo systemctl start docker
```
機器重開時自動啟動 Docker:
```cmd=
$ sudo systemctl enable docker
```
## 安裝 Docker-composer
從[這裡](https://github.com/docker/compose/releases/tag/v2.18.1)下載最新 Docker Composer。
執行下列命令安裝最新的 Docker Composer
```cmd=
$ sudo curl -L "https://github.com/docker/compose/releases/download/v2.18.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
```
> 當下的版本是 2.18.1
賦予可執行的權限
```cmd=
$ sudo chmod +x /usr/local/bin/docker-compose
```
## 參考
[官方docker安裝路徑](https://docs.docker.com/engine/install/ubuntu/)
[官方docker-composer 安裝路徑](https://docs.docker.com/compose/install/standalone/)
[如何在 Ubuntu 22.04 LTS 中安装 Docker 和 Docker Compose](https://www.51cto.com/article/715086.html)