# docker 環境建置 (for ubuntu)
:::success
:bookmark: 書籤
[TOC]
:::
# 安裝 docker
## 1. 更新apt
```
sudo apt-get update
```
## 2. 安裝軟件包以允許apt通過HTTPS使用存儲庫
```
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
```
## 3. 添加Docker的官方GPG金鑰
```
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
```
## 4. 設置穩定的存儲庫
```
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
```
## 5. 安裝最新版本的Docker Engine和容器
```
sudo apt-get install docker-ce docker-ce-cli containerd.io -y
```
## 6. 安裝完成測試
```
sudo docker run hello-world
```
# 安裝Docker Compose
## 1. 運行以下命令以下載Docker Compose的當前穩定版本
```
sudo curl -L "https://github.com/docker/compose/releases/download/1.25.4/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
```
## 2. 將可執行權限應用於二進製文件
```
sudo chmod +x /usr/local/bin/docker-compose
```
## 3. 測試安裝
```
docker-compose --version
```
# 執行docker
## 1. 進入映像檔資料夾
```
cd docker-tutorial
```
## 2. 佈署
```
sudo docker-compose up -d --build
```
## 常用指令
列出所有的docker
```
sudo docker ps
```
使用bash連線
```
sudo docker exec -it [container_id] bash
```
清除所有容器
```
sudo docker stop [container_id]
sudo docker container stop $(sudo docker container ls -a -q)
sudo docker system prune --all --force //清除本地所有image
sudo docker-compose -d --build
```
本地建立image
```
sudo docker build .
```
查看本地image
```
sudo docker image ls
```
將本地port導向container_id port
```
sudo docker run -p <本地port>:<container port> -it <container_id>
```