[TOC]
一、安裝
docker 具體安裝步驟請參照 官方文檔
查看 docker 版本
docker version
二勋陪、鏡像
1.搜索鏡像
docker search <搜索詞>
搜索java相關(guān)鏡像
docker search java
2.獲取鏡像
從 Docker Registry 獲取鏡像的命令是 docker pull <鏡像名稱[:TAG|@digest]>
牢裳,參數(shù)如下:
-
-a, --all-tags
:在倉庫中下載所有標記的鏡像
獲取 ubuntu 鏡像
# 獲取最新的 ubuntu 鏡像
docker pull ubuntu:latest
# TAG 默認是 latest
docker pull ubuntu
# 獲取 ubuntu 16.04 鏡像
docker pull ubuntu:16.04
3.列出鏡像
列出已經(jīng)下載的鏡像命令是 docker images
着饥,可選參數(shù):
-
-a, --all
:列出所有鏡像 (默認隱藏中間層鏡像) -
--digests
:顯示鏡像的摘要信息 -
-f, --filter <filter>
:顯示滿足條件的鏡像 -
--format <string>
:使用 Go 模板語法列出鏡像 -
--no-trunc
:不截斷輸出,顯示完整鏡像信息 -
-q, --quiet
:只顯示鏡像 ID
如:列出本地已下載的鏡像
docker images
4.刪除鏡像
使用 docker rmi <鏡像名>
刪除鏡像
如:刪除鏡像 ubuntu 16.04
docker rmi ubuntu:16.04
三龄广、容器
1.創(chuàng)建并啟動容器
創(chuàng)建并啟動容器的命令是 docker run
硫眯,它的參數(shù)有
-t
:讓Docker分配一個偽終端(pseudo-tty)并綁定到容器的標準輸入上
-i
:附加到容器的標準輸入(進入交互模式)
-d, --detach
:在后臺啟動容器
--name
:為容器指定一個名稱
-P
:隨機端口映射
-p
:指定端口映射。如 -p 8080:80
表示將宿主機的8080端口映射到容器的80端口
--net
:指定網(wǎng)絡(luò)模式择同,該選項有以下可選參數(shù)
- --net=brige:默認選項两入,表示連接到默認的網(wǎng)橋
- --net=host:容器使用宿主機的網(wǎng)絡(luò)(該模式下-p參數(shù)無效)
- --net=container:<容器名稱或id>:讓容器使用已有容器的網(wǎng)絡(luò)配置
- --net=none:不使用該容器的網(wǎng)絡(luò),用戶可以自定義網(wǎng)絡(luò)配置
下命令表示啟動一個nginx容器敲才,容器名稱為mynginx裹纳,并將宿主機的8080端口映射到容器的80端口
docker run -d -p 8080:80 --name=mynginx nginx
2.停止運行中的容器
使用 docker stop <容器名稱或id>
停止一個運行中的容器。參數(shù)如下:
-
-t, --time <int>
:停止前等待的時間紧武,默認為 10(單位:秒)
如:停止mynginx容器
docker stop mynginx
3.啟動終止的容器
使用 docker start <容器名稱或id>
啟動一個已經(jīng)停止的容器剃氧。參數(shù)如下
-
-a, --attach
:附加到容器的標準輸出 -
-i
:附加到容器的標準輸入(進入交互模式)
如:再次啟動mynginx容器
docker start mynginx
4.重啟容器
使用 docker restart <容器名稱或id>
重啟容器。參數(shù)如下:
-
-t, --time <int>
:停止前等待的時間阻星,默認為 10(單位:秒)
如:重啟mynginx容器
docker restart mynginx
5.進入容器
使用 docker exec -it <容器名稱或id> /bin/bash
進入容器并啟動bash朋鞍,示例:
docker exec -it mynginx /bin/bash
6.刪除容器
使用 docker rm <容器名稱或id>
刪除容器。參數(shù)如下:
-
-f, --force
:強制刪除正在運行的容器(使用 SIGKILL) -
-l, --link
:刪除指定的鏈接 -
-v, --volumes
:刪除與容器關(guān)聯(lián)的卷
如:刪除mynginx容器
docker rm mynginx
刪除所有處于終止狀態(tài)的容器
docker rm $(docker ps -a -q)
四、文件傳輸
- 將容器文件拷貝至主機
docker cp <容器名稱或id>:<容器中文件路徑> <宿主機中目標路徑>
如:將mynginx容器的 /tmp/test.json 文件拷貝到主機 ~/Desktop 目錄
docker cp mynginx:/tmp/test.json ~/Desktop
- 將主機文件拷貝至容器
docker cp <文件路徑> <容器名稱或id>:<容器中文件目標路>
如:將主機的 ~/Desktop/foo.txt 文件拷貝至容器 mynginx 的 /var 目錄
docker cp ~/Desktop/foo.txt mynginx:/var