Docker入門教學
講者:土豆
時間:2020/10/25
大綱
- Docker是什麼?
- 為什麼要用Docker?
- Docker安裝
- Docker操作方式
- 參考資料
Docker是什麼?
虛擬化技術
這是大家理論上都用過的虛擬機
這是Docker
Docker vs VM
1. 快速的部署(deployment)
2. 有效運用系統資源
3. 環境統一
為什麼要用Docker?
4. 便於管理
幾乎一鍵安裝Online Judge系統
sudo apt-get update && sudo apt-get install -y vim python3-pip curl git docker-compose
pip3 install --upgrade pip
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
docker-compose up -d
Docker安裝
請先下載
user: user
password: user1234
開始安裝!
sudo apt-get update # 更新套件庫
curl -fsSL https://get.docker.com -o get-docker.sh # 取得官方提供之安裝腳本
sudo sh get-docker.sh # 執行腳本
sudo usermod -aG docker user # 將user加入docker群組,沒加入的話執行docker指令需加上sudo
# 重新登入,讓權限生效
Docker操作方式
Docker Image
Docker Container
docker run -v [host_volume]:[container_volume] -p [host_port]:[container_port] -it [image_name] /bin/bash
Docker Image從哪來?
方法1. 從 docker hub pull下來
docker pull python:latest
docker run python:latest
Docker Image從哪來?(續)
方法2. 利用Dockerfile自行建立
mkdir django
cd django
nano Dockerfile
# Dockerfile 內容
FROM python:latest
MAINTAINER sam
RUN apt-get update
RUN apt-get install nano
RUN pip install django
docker build . -t="sam/django"
Docker常用指令
docker stop [container id]
docker start [container id]
啟動container
停止container
docker ps
確認正在運行的container
docker ps -a
確認正在運行與已停止的container
Docker常用指令(續)
docker exec -it [container id] [command]
docker attach [container id]
# 如果要出來的話按下鍵盤的 ctrl + p 以及 ctrl + q
回到container中
使用container執行某個指令
Docker常用指令(續)
docker image rm [image_name]
docker images
列出現有image
刪除某個image
docker container rm [container_id]
刪除某個container
Dockercompose
可以讓你一次安裝好幾個container
幾乎一鍵安裝Online Judge系統
sudo apt-get update && sudo apt-get install -y vim python3-pip curl git docker-compose
pip3 install --upgrade pip
git clone -b 2.0 https://github.com/QingdaoU/OnlineJudgeDeploy.git && cd OnlineJudgeDeploy
docker-compose up -d
範例
參考資料
Docker入門教學
By Sam Yang
Docker入門教學
- 491