在 Ubuntu 上案裝 Docker

開始之前先確定手邊有裝好的 Ubuntu,我這邊是用 18.04.2 LTS 來進行操作! 下面會逐步介紹如何在這上面安裝 DockerDocker Compose

先做一次系統更新

1
2
apt update
apt upgrade -y

安裝 Docker

逐一執行下面的指令即可完成安裝,詳細的內容可以參考 Get Docker CE for Ubuntu

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 切到 root
sudo -i

# 移除舊的 Docker
apt-get remove docker docker-engine docker.io containerd runc

# 更新 apt 的套件索引
apt-get update

# 安裝必要套件
apt-get install -y \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common

# 加入 Docker’s 官方的 GPG key
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# 確認 Key
apt-key fingerprint 0EBFCD88

# 加入 Docker 的 apt repository
add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"

# 更新 apt 的套件索引,然後安裝 Docker
apt-get update
apt-get install docker-ce docker-ce-cli containerd.io

# 執行看看能不能看到版號
docker --version

安裝 Docker Compose

逐一執行下面的指令即可完成安裝,詳細的內容可以參考 Install Docker Compose

1
2
3
4
5
6
7
8
# 下載目前最新版的 Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/download/1.24.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 把剛剛下載的檔案加上可執行的屬性
sudo chmod +x /usr/local/bin/docker-compose

# 執行看看能不能看到版號
docker-compose --version

測試

啟動一個 Ubuntu 18.04 的 Container

1
2
3
4
5
# 在 Host OS 執行這個指令,啟動 Ubuntu 18.04 的 Container
docker run --rm -it ubuntu:18.04 bash

# 進入 Container 後執行這個指令,查看 OS 版本
cat /etc/os-release

[未完待補] 用 Docker Compose 啟動一個 LNMP 的環境

先開一個目前,在裡面建立一個 docker-compose.yml,檔案內容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
version: "3.1"

services:
nginx:
image: nginx:1.17
restart: always
working_dir: /docker/www
ports:
- 80:80
volumes:
- ./www:/docker/www
- ./docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- ./docker/nginx/conf.d:/etc/nginx/conf.d
links:
- php
- phpmyadmin
php:
build: docker/php/
restart: always
working_dir: /docker/www
volumes:
- ./www:/docker/www
- ./docker/php/php-fpm.d/custom.conf:/usr/local/etc/php-fpm.d/custom.conf
environment:
DB_HOST: mysql
links:
- mysql

phpmyadmin:
image: phpmyadmin/phpmyadmin:4.8
restart: always
environment:
PMA_HOST: mysql
PMA_ABSOLUTE_URI: http://127.0.0.1/pMA/

mysql:
image: mariadb:10.4
restart: always
ports:
- 3306:3306
environment:
MYSQL_ROOT_PASSWORD: hello-docker

然後在該目錄裡,執行下面的指令,Docker Compose 會用 docker-compose.yml 裡的設定來啟動 Container

1
2
3
4
5
# 建立並啟動
docker-compose up -d

# 停止並刪除
docker-compose down