對(duì)于開(kāi)發(fā)人員來(lái)說(shuō),Docker肯定都不陌生,今天小編帶大家重新學(xué)習(xí)一下Docker。
什么是 Docker
官話:
Docker 是一種開(kāi)源的容器化平臺(tái),它可以幫助開(kāi)發(fā)者將應(yīng)用程序與其所依賴的環(huán)境一起打包,形成一個(gè)獨(dú)立的、可移植的容器。這些容器可以在任何支持 Docker 的平臺(tái)上運(yùn)行,無(wú)論是開(kāi)發(fā)環(huán)境、測(cè)試環(huán)境,還是生產(chǎn)環(huán)境,都能保持一致的運(yùn)行結(jié)果。Docker 的高度可移植性和輕量級(jí)特性使得軟件開(kāi)發(fā)和部署變得更加簡(jiǎn)單和高效。
簡(jiǎn)單理解:
Docker是一個(gè)容器,可以讓我很方便的安裝軟件、部署項(xiàng)目,而不用為環(huán)境的不同發(fā)愁。
安裝 Docker
在開(kāi)始使用 Docker 之前,首先需要在您的計(jì)算機(jī)上安裝 Docker。Docker 提供了適用于不同操作系統(tǒng)的安裝程序,您可以根據(jù)自己的系統(tǒng)選擇合適的安裝方式。
強(qiáng)烈建議安裝在linux環(huán)境下,操作簡(jiǎn)單、不容易出錯(cuò);Windows環(huán)境下安裝之后,Docker相關(guān)服務(wù)至少占用2G內(nèi)存,建議32G內(nèi)存的電腦考慮在Windows安裝。
以Debian系統(tǒng)示例
卸載舊版本
for pkg in docker.io docker-doc docker-compose podman-docker containerd runc; do sudo apt-get remove $pkg; done
安裝Docker
設(shè)置存儲(chǔ)庫(kù)
- 更新軟件包索引并安裝軟件包以允許使用 基于 HTTPS 的存儲(chǔ)庫(kù)
sudo apt-get update
sudo apt-get install ca-certificates curl gnupg
- 添加 Docker 的官方 GPG 密鑰:
sudo install -m 0755 -d /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
sudo chmod a+r /etc/apt/keyrings/docker.gpg
- 使用以下命令設(shè)置存儲(chǔ)庫(kù):
echo
"deb [arch="$(dpkg --print-architecture)" signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/debian
"$(. /etc/os-release && echo "$VERSION_CODENAME")" stable" |
sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
安裝 Docker 引擎
- 更新包索引:
apt
sudo apt-get update
- 安裝 Docker Engine、containerd 和 Docker Compose。
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
- 通過(guò)運(yùn)行映像驗(yàn)證 Docker 引擎安裝是否成功:
hello-world
sudo docker run hello-world
您現(xiàn)在已成功安裝并啟動(dòng) Docker 引擎。
操作步驟詳情請(qǐng)參照官方文檔:https://docs.docker.com/engine/install/debian/
使用Docker
這里以安裝nginx為例
1. 拉取鏡像
在使用 Docker 前,通常需要先從 Docker Hub(Docker 的公共鏡像倉(cāng)庫(kù))或者其他私有鏡像倉(cāng)庫(kù)中拉取所需的鏡像。可以使用 docker pull
命令來(lái)拉取鏡像,例如:
docker pull nginx:latest
上述命令會(huì)從 Docker Hub 拉取最新版的 Nginx 鏡像。
2. 運(yùn)行容器
拉取鏡像后,就可以使用 docker run
命令來(lái)創(chuàng)建并運(yùn)行容器,例如:
docker run -d -p 8080:80 nginx:latest
上述命令會(huì)以后臺(tái)模式運(yùn)行一個(gè)基于 Nginx 鏡像的容器,并將容器的 80 端口映射到主機(jī)的 8080 端口。
3. 查看容器
使用 docker ps
命令可以查看當(dāng)前正在運(yùn)行的容器:
docker ps
使用 docker ps -a
命令可以查看包括已停止的容器在內(nèi)的所有容器。
4. 停止和刪除容器
使用 docker stop
命令停止一個(gè)運(yùn)行中的容器,例如:
docker stop < CONTAINER_ID >
使用 docker rm
命令刪除一個(gè)已停止的容器,例如:
docker rm < CONTAINER_ID >
5. 進(jìn)入容器
有時(shí)候需要進(jìn)入容器的 shell 環(huán)境進(jìn)行調(diào)試或者執(zhí)行命令。可以使用 docker exec
命令進(jìn)入一個(gè)正在運(yùn)行的容器,例如:
docker exec -it < CONTAINER_ID > /bin/bash
上述命令會(huì)在容器內(nèi)啟動(dòng)一個(gè)交互式的 Bash shell。
文件掛載
在運(yùn)行 Nginx 容器時(shí),將 Nginx 的配置文件掛載到容器中,可以實(shí)現(xiàn)動(dòng)態(tài)修改配置的功能。
- 首先,在您的主機(jī)上創(chuàng)建一個(gè)目錄,并將 Nginx 配置文件放入該目錄。例如,假設(shè)您有一個(gè)自定義的 Nginx 配置文件
nginx.conf
,您可以將其放在/path/to/nginx_config
目錄下。 - 使用 Docker 運(yùn)行 Nginx 容器時(shí),通過(guò)添加
-v
或--volume
參數(shù)來(lái)進(jìn)行配置文件掛載:
docker run -d -p 8080:80 -v /path/to/nginx_config:/etc/nginx/nginx.conf:ro nginx:latest
上述命令會(huì)將主機(jī)中的 /path/to/nginx_config/nginx.conf
文件掛載到容器內(nèi)的 /etc/nginx/nginx.conf
文件。這樣,容器內(nèi)的 Nginx 將使用您自定義的配置文件而不是默認(rèn)的配置。
"ro" 表示將掛載的目錄或文件設(shè)置為只讀模式(Read-Only)。掛載為只讀模式意味著容器內(nèi)部對(duì)掛載的目錄或文件只有讀取權(quán)限,不能進(jìn)行寫入、修改或刪除操作。
使用 "ro" 參數(shù)的好處是可以增加對(duì)容器內(nèi)數(shù)據(jù)的安全性。如果您擔(dān)心容器內(nèi)的應(yīng)用程序會(huì)無(wú)意間修改或刪除重要的配置文件,可以使用 "ro" 參數(shù)確保這些配置文件不會(huì)被意外更改。
如果您希望容器內(nèi)的應(yīng)用程序具有對(duì)掛載目錄的讀寫權(quán)限,可以省略 "ro" 參數(shù)或使用 "rw"(Read-Write)參數(shù)來(lái)掛載。
小結(jié)
Docker 是一個(gè)功能強(qiáng)大的容器化平臺(tái),可以幫助開(kāi)發(fā)者簡(jiǎn)化應(yīng)用程序的開(kāi)發(fā)、測(cè)試和部署過(guò)程。
希望本篇文章能讓你學(xué)會(huì)如何使用 Docker容器化技術(shù),提高軟件交付的效率和可靠性。
-
存儲(chǔ)
+關(guān)注
關(guān)注
13文章
4123瀏覽量
85273 -
軟件
+關(guān)注
關(guān)注
69文章
4570瀏覽量
86696 -
開(kāi)源
+關(guān)注
關(guān)注
3文章
3126瀏覽量
42068 -
Docker
+關(guān)注
關(guān)注
0文章
446瀏覽量
11738 -
docker容器
+關(guān)注
關(guān)注
0文章
29瀏覽量
3305
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論