iT邦幫忙

2017 iT 邦幫忙鐵人賽
DAY 3
1
Big Data

Scala 大數據慢慢摸系列 第 3

【Day 3】 - Docker 基本指令操作

昨天講到到 Docker 的安裝,現在就來進行今天的主題 Docker 基本指令的操作。

打開 Docker 與執行終端機,開始手指運動,敲敲鍵盤吧

# 顯示 docker 的資訊
$ docker info

http://ithelp.ithome.com.tw/upload/images/20161218/20091650ONwMTgR1Nd.png

# 顯示 docker 的版本
$ docker version

http://ithelp.ithome.com.tw/upload/images/20161218/20091650EgsvDMUpcS.png

# 取得一個指定版本的 image 
# 如果不指定 image 版本該版本則為 latest
$ docker pull [Image 名稱]:[Image 版本]

# ex: 
$ docker pull hello-world
$ docker pull ubuntu
$ docker pull ubuntu:14.04

http://ithelp.ithome.com.tw/upload/images/20161218/200916504Avg1Dzivc.png
http://ithelp.ithome.com.tw/upload/images/20161218/20091650447zVaLekd.pnghttp://ithelp.ithome.com.tw/upload/images/20161218/20091650SsWXkm3xHJ.png

# 顯示 docker 的 images 清單
$ docker images

http://ithelp.ithome.com.tw/upload/images/20161218/20091650oCnunHBPiU.png

# 透過 iamge 執行並產生一個新的 container
$ docker run [Image 名稱]:[Image 版本] [執行指令]

# ex:
$ docker run hello-world
$ docker run ubuntu /bin/echo "example 1 - ubuntu"
$ docker run ubuntu:14.04 /bin/echo "example 2 - ubuntu:14.04"

########### 我是分隔線 ########### 

# [OPTIONS]:
# -i, --interactive (互動模式)
# -t, --tty         (配置一個終端機)
# -d, --detach      (在背景執行)

$ docker run [OPTIONS] [Image 名稱]:[Image 版本] [執行指令]

# ex: 
$ docker run -i -t ubuntu:14.04 bash
$ exit 

http://ithelp.ithome.com.tw/upload/images/20161218/20091650FZIh5npMkG.pnghttp://ithelp.ithome.com.tw/upload/images/20161218/20091650t9AQfeFvGf.pnghttp://ithelp.ithome.com.tw/upload/images/20161218/20091650SzODgDYiDV.png
http://ithelp.ithome.com.tw/upload/images/20161218/20091650W0l4gdBGaz.png

# 查看正在執行的 containers
$ docker ps

# 查看所有的 containers
$ docker ps -a

http://ithelp.ithome.com.tw/upload/images/20161218/20091650OSMcFKNdDm.png

# 對正在執行的 container 下執指令

# [OPTIONS]:
# -i, --interactive (互動模式)
# -t, --tty         (配置一個終端機)

# docker exec [OPTIONS] [Container ID] [執行指令]

# ex:
# 產生一個 container 在背景執行
$ docker run -i -t -d ubuntu:14.04 bash

# 查詢正在執行的 container
$ docker ps
$ docker exec -i -t [Container ID] bash
$ exit

http://ithelp.ithome.com.tw/upload/images/20161218/20091650rVcsl7wBFl.png

# 啟動 docker container
$ docker start [Container ID]

# 停止 docker container
$ docker stop [Container ID]

# 重新啟動 docker container
$ docker restart [Container ID]

# ex:
# 產生一個 container 在背景執行
$ docker run -i -t -d ubuntu bash

$ docker ps
$ docker stop [Container ID]

$ docker ps
$ docker start [Container ID]

$ docker ps
$ docker restart [Container ID]

http://ithelp.ithome.com.tw/upload/images/20161218/20091650XqWMkR4ra6.png

# 刪除 container
$ docker rm [Container ID]

# ex:
$ docker ps
$ docker stop [Container ID]

$ docker rm [Container ID]
$ docker ps -a

http://ithelp.ithome.com.tw/upload/images/20161218/20091650xhQhf4RN19.png

# 刪除 image
# 刪除 image 前必需將透過該 image 所產生的 container 移除
$ docker rmi [Image ID]

# ex:
# 移除 hello-world image 所產生的 container
$ docker ps -a
$ docker rm [Container ID]
$ docker ps -a

# 移除 hello-world image
$ docker images
$ docker rmi [Image ID]
$ docker images

http://ithelp.ithome.com.tw/upload/images/20161218/20091650s9tss8n0rB.png

####################################
## 小技巧 ##########################
####################################

# 停止所有的 containers
$ docker stop $(docker ps -a -q) 

# 刪除所有的 containers
$ docker rm $(docker ps -a -q)

# 刪除所有的 images
$ docker rmi $(docker images -a -q)

上一篇
【Day 2】 - 安裝軟體容器 Docker
系列文
Scala 大數據慢慢摸3

尚未有邦友留言

立即登入留言