> For the complete documentation index, see [llms.txt](https://anida-huang.gitbook.io/cloud-communication/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://anida-huang.gitbook.io/cloud-communication/qi-zhong/chu-shi-docker.md).

# 20200915 初識 Docker

## 課堂資料

### 安裝 Docker

#### **SET UP THE REPOSITORY**

{% tabs %}
{% tab title="設置存儲庫" %}

```
yum install -y yum-utils
```

```
yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
```

{% endtab %}

{% tab title="更新" %}

```
yum install epel-release -y 
```

-y：同意
{% endtab %}

{% tab title="安裝套件庫" %}

```
yum install epel-release -y 
```

{% endtab %}
{% endtabs %}

#### **INSTALL DOCKER ENGINE**

> **安裝DOCKER引擎**

```
yum install docker-ce docker-ce-cli containerd.io
```

![SET UP THE REPOSITORY](/files/-MIMiKvlmDlTv8wt3RYL)

![INSTALL DOCKER ENGINE](/files/-MIMiFDxjiQTBw11XZEa)

#### 驗證 DOCKER

```
docker --version
```

![](/files/-MINtmUmMHkFXpkGoe7-)

#### 啟動 DOCKER

```
systemctl start docker
```

![](/files/-MINtquHugKydlbu-0uv)

## 課堂練習

#### 讓 VM2 ( 第二台虛擬機 ) 透過 VM1 ( 第一台虛擬機 ) 進行廣告阻擋

{% hint style="success" %}

### 安裝 **adg**uard 步驟

{% endhint %}

### **1. Pull the Docker image**

> **拉出Docker映像**

```
docker pull adguard/adguardhome
```

![](/files/-MINswNbaKqHU2i93zQX)

### **2. Create directories for persistent configuration and data**

> **創建用於持久配置和數據的目錄**

```
mkdir -p /my/own/workdir

mkdir -p /my/own/confdir
```

> 檢查

```
netstat -tunlp | grep 68
```

![](/files/-MISCbnjKdAvhyhiXIAi)

> 刪除

```
kill -9 7178
kill -9 4235
```

![](/files/-MISD58Fb65r6LCk-_kJ)

![](/files/-MISD2SUv3RCvcWUVZYB)

{% hint style="danger" %}
刪除後記得再次檢查
{% endhint %}

> 檢查

```
netstat -tunlp | grep 67
```

![](/files/-MISDK_n_ktp_wHcvNVM)

> 刪除

```
kill -9 1849
```

![](/files/-MISDu1QOFtV0KomDAoX)

{% hint style="danger" %}
刪除後記得再次檢查
{% endhint %}

> 檢查

```
netstat -tunlp | grep 53
```

![](/files/-MISE8czBKSn3t6oULnv)

> 檢查

```
docker ps -a
```

![](/files/-MISESUbuLktObmHb1L4)

> 刪除

```
docker rm c0a
```

![](/files/-MISEfA9lQbUAzS92EVl)

### **3. Create and run the container**

> **創建並運行容器**

```
docker run --name adguardhome -v /my/own/workdir:/opt/adguardhome/work -v /my/own/confdir:/opt/adguardhome/conf -p 53:53/tcp -p 53:53/udp -p 67:67/udp -p 68:68/tcp -p 68:68/udp -p 80:80/tcp -p 443:443/tcp -p 853:853/tcp -p 3000:3000/tcp -d adguard/adguardhome
```

![](/files/-MISEng8NvjI9MIUSM-Q)

{% hint style="danger" %}

#### 若是沒通到網路

{% endhint %}

### 連網測試

> 進入 resolv.conf，新增 namesever 8.8.8.8

```
vim /etc/resolv.conf
```

![](/files/-MIwoXmULsuuQOwNikCs)

> 進行連網測試

```
ping www.google.com
```

![](/files/-MIwpxXQDeoQuLngkrn_)

> 安裝註冊完ADguard會跳出儀表版畫面

![](/files/-MJH1CFyZkPO4AP0M0lk)
