https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=souhu×tamp=1650243693
Docker 簡介
Docker 是一個開源的應用容器引擎,基于 Go 語言開發,Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的系統。
Docker 是世界領先的軟件容器平臺,Docker 官方的口號是”調試你的應用,而不是調試環境“。在進行多人協作開發時,開發者可以使用 Docker 來消除所謂“我這里運行是好的”(works on my machine)問題,運維人員使用 Docker 來并行的運行和管理應用來獲得更優計算密度,基于各自獨立的容器,不會因為環境原因導致應用運行錯誤。
如下圖所示,在工作當中,如果我們面對這樣多的服務、多個服務器,以及多種環境,我們應該如何處理呢?如果還繼續用傳統的方式打包部署,我們會浪費多少時間?
所以在 Docker 橫空出世之前,應用打包一直是大部分研發團隊的痛點,在 Docker 出現后,它以更高效的利用系統資源、更高效的利用系統資源、一致的運行環境、持續交付和部署、更輕松的遷移、更輕松的維護和拓展,6大優點迅速火了起來。
Docker 的三個核心概念
鏡像(Image)
是一個包含有文件系統的面向 Docker 引擎的只讀模板。任何應用程序運行都需要環境,而鏡像就是用來提供這種運行環境的。例如一個 Ubuntu 鏡像就是一個包含 Ubuntu 操作系統環境的模板。
容器(Container)
類似于一個輕量級的沙盒,可以將其看作一個極簡的 Linux 系統環境(包括 root 權限、進程空間、用戶空間和網絡空間等),以及運行在其中的應用程序。Docker 引擎利用容器來運行、隔離各個應用。
容器是鏡像創建的應用實例,可以創建、啟動、停止、刪除容器,各個容器之間是是相互隔離的,互不影響。
注意:鏡像本身是只讀的,容器從鏡像啟動時,Docker 在鏡像的上層創建一個可寫層,鏡像本身不變。
倉庫(Repository)
鏡像倉庫,是 Docker 用來集中存放鏡像文件的地方。
Docker 安裝
Docker 是開源的商業產品,有兩種版本:社區版(Community Edition,縮寫為 CE)和企業版(Enterprise Edition,縮寫為 EE)。企業版包含了一些收費服務,一般用不到。我們下面將會演示 Docker CE 版本的使用方法。
Docker 支持很多操作系統平臺,有大家常用的 Microsoft Windows 系列操作系統(Docker 不支持 Windows 10 家庭版系統),Linux 發行版和 MacOS 系統。
安裝
Windows 系統安裝方法
Windows 上有兩種安裝 Docker 方式:
第一種:訪問 Docker 網站下載 Docker Desktop 軟件的 exe 文件,下載地址:https://download.docker.com/win/stable/Docker%20Desktop%20Installer.exe
第二種:使用 Chocolatey 包管理工具安裝 Docker。(包管理工具需自行下載安裝)
choco install docker-for-windows
Linux 發行版 Ubuntu 系統安裝方法
1.切換到管理員權限
su root
2.安裝必要的一些系統工具
apt-get update
apt-get -y install apt-transport-https ca-certificates curl \
software-properties-common
3.安裝 GPG 證書
curl -fsSL \
\
sudo apt-key add -
4.寫入軟件源信息
add-apt-repository "deb [arch=amd64] \
\
$(lsb_release -cs) stable"
5.更新并安裝 Docker-CE
apt-get -y update
apt-get -y install docker-ce
Linux 發行版 CentOS 系統安裝方法
1.切換到管理員權限
su root
2.安裝必要的一些系統工具
yum install -y yum-utils device-mapper-persistent-data lvm2
3.添加軟件源信息
yum-config-manager --add-repo \
4.更新并安裝 Docker-CE
yum makecache fast
yum -y install docker-ce
macOS 操作系統安裝 Docker 方法
macOS 上有兩種安裝 Docker 方式:
第一種:訪問 Docker 網站下載 Docker Desktop 的 dmg 安裝包,下載地址:https://download.docker.com/mac/stable/Docker.dmg
第二種:使用包管理工具方式來安裝 Docker,使用 Homebrew 工具安裝 Docker。(包管理工具需自行下載安裝)
brew cask install docker
Docker 常用操作
啟動 Docker
systemctl start docker
重新啟動 Docker
systemctl retart docker
開機時自動啟動 Docker
bash systemctl enable docker ¨G2G bash systemctl status docker
Docker 加速器配置
我們下載 Docker 鏡像的時候,默認會訪問 Docker 網站,而 Docker 網站是在國外部署的,距離比較遠下載速度特別慢。我們可以通過設置加速器的方式來加速 Docker 鏡像下載的速度。下面將描述一下使用加速器的步驟:
1.我們這里選擇的是阿里云提供的 Docker 鏡像加速器服務,首先訪問阿里云的鏡像倉庫(如果沒有阿里云賬號則需要注冊):
https://cr.console.aliyun.com/
2.選擇“鏡像加速器“
3.根據個人的系統平臺,選擇運行 Docker 的 OS,并按照操作文檔的要求修改 Docker 配置文件,然后重啟 Docker 服務即可完成加速器的配置。
Docker常用命令
Docker 的常用命令一般分為:鏡像管理、容器管理。
查看 Docker 版本
docker version
鏡像管理命令
下面使用 busybox 軟件作為示例,busybox 軟件是一個集成了非常多最常用的 Linux 命令和工具的軟件集合。
查看所有鏡像
docker images
REPOSITORY:鏡像來自哪個倉庫
TAG:鏡像的標簽信息,版本之類的信息
IMAGE ID:鏡像創建時的id
CREATED:鏡像創建的時間
SIZE:鏡像文件大小
下載軟件鏡像
docker pull busybox:latest
備注:latest 表示使用 busybox 軟件的最新版本,所以軟件默認下載都是 latest 版本。
導出鏡像
docker save busybox > busybox.tar
備注:把 busybox 鏡像導出為 busybox.tar 文件,可以把 busybox.tar 文件復制到別的操作系統上使用,免除下載時網絡慢的問題。
刪除鏡像
docker rmi busybox:latest
備注:鏡像一般都會根據版本打包,如果有下載一個軟件的多個版本就需要指定具體版本信息。如 busybox:1.26 就會刪除 busybox 軟件的 1.26 版本的鏡像,不會刪除latest 版本的鏡像。
導入鏡像
docker load < busybox.tar
備注:使用導出命令導出的鏡像,可以通過此命令導入到沒有下載此軟件的操作系統,方便網絡條件差的情況使用。
更改鏡像名
docker tag busybox:latest busybox:test
備注:busybox:latest原鏡像名,busybox:test要改成的鏡像名
容器管理命令
運行容器
docker run -d --name=busybox busybox:latest ping 114.114.114.114
- `run`:run參數代表啟動容器
- `-d`:以后臺daemon的方式運行
- `--name`:指定一個容器的名字,此后操作都需要使用這個名字來定位容器。
- `busybox:latest`:容器所使用的鏡像名字
- `ping 114.114.114.114`:啟動容器執行的命令
查看運行的容器
docker ps
查看所有容器
docker ps -a
- `CONTAINER ID`:容器啟動的id
- `IMAGE`:使用哪個鏡像啟動的容器
- `COMMAND`:啟動容器的命令
- `CREATED`:創建容器的時間
- `STATUS`:容器啟動時間
- `PORTS`:容器映射到宿主機的端口
- `NAMES`:容器啟動的名字
啟動容器
docker start busybox
重新啟動容器
docker restart busybox
停止容器
docker stop busybox
殺死容器
docker kill busybox
刪除運行中的容器
docker rm -f busybox
執行容器內命令
docker exec -it busybox ls
備注:-it 交互終端
復制容器內文件
docker cp busybox:/etc/hosts hosts
查看容器日志
docker logs -f busybox
以上,更多進階內容后續進一步探討。
復制“下方鏈接”,提升測試核心競爭力!
更多技術文章分享和免費資料領取https://qrcode.ceba.ceshiren.com/link?name=article&project_id=qrcode&from=souhu×tamp=1650243693返回搜狐,查看更多