怎麼使用docker安裝nginx提供的web服務
一、拉取映像
docker pull指令用來拉取應用程式映像,docker pull nginx
指令用來拉取最新版本的nginx映像。下文為拉取映像過程的回應結果:
# docker pull nginx Using default tag: latest latest: Pulling from library/nginx c229119241af: Pull complete 2215908dc0a2: Pull complete 08c3cb2073f1: Pull complete 18f38162c0ce: Pull complete 10e2168f148a: Pull complete c4ffe9532b5f: Pull complete Digest: sha256:2275af0f20d71b293916f1958f8497f987b8d8fd8113df54635f2a5915002bf1 Status: Downloaded newer image for nginx:latest docker.io/library/nginx:latest
從上文我們可以看出nginx映像像是從docker.io
這個網址拉取下來的。
使用docker images
指令可以查看目前作業系統中下載了哪些映像檔。
# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx latest 12766a6745ee 33 hours ago 142MB hello-world latest feb5d9fea6a5 6 months ago 13.3kB
REPOSITORY鏡像倉庫及映像名稱,若不顯示映像倉庫,預設為
docker.io
TAG鏡像的版本或是里程碑標籤,latest表示最新版本
IMAGE ID 映像的唯一識別
CREATED 這個映像被建立的時間
SIZE表示鏡像檔案的大小
#2、執行映像啟動容器
透過docker run
指令啟動一個容器,容器名稱為nginx-zimug。
# docker run -d --name nginx-zimug -p 80:80 nginx 81bb1211144bc0991a789f860458548643c60b5459466c14d0604be9a4ccbfd7
-d
表示容器在後台運行--name
為容器起一個名字-p
連接埠映射,格式為宿主機連接埠:容器連接埠
,上文中意義是將容器中的連接埠80映射到宿主機的連接埠80,對外提供存取服務。最後一個欄位為鏡像名稱
當瀏覽器透過HTTP協定存取宿主機的80連接埠時,可以省略連接埠號碼。得到的訪問結果如下,說明我們的nginx服務已經啟動成功了。
透過docker ps
可以查看正在運行中的容器,如下所示:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 81bb1211144b nginx "/docker-entrypoint.…" 11 minutes ago Up 11 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginx-zimug
三、檔案映射
首先明確的是容器中的檔案內容是可以被修改的,但是一旦容器重啟,所有寫入到容器中的,針對資料檔案、設定檔的修改都會遺失。所以為了保存容器的運作狀態,執行結果,我們需要將容器內的一些重要的資料檔案、日誌檔案、設定檔對應到宿主機上。
以nginx為例,nginx有三個重要的檔案目錄:
# | 容器中路徑 | 宿主機中自定義映射路徑 |
---|---|---|
儲存網站網頁的目錄 | #/usr/share/nginx/html | /root/nginx /html |
nginx設定檔目錄 | /etc/nginx/nginx.conf | /root/nginx/conf/nginx.conf |
日誌目錄 | /var/log/nginx | #/root/nginx/logs |
mkdir -p /root/nginx/logs /root/nginx/html /root/nginx/conf;
docker cp nginx-zimug:/etc/nginx/nginx.conf /root/nginx/conf;
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>使用docker搭建nginx web服务</title> </head> <body> <h2 id="访问成功">访问成功</h2> <p>厉害了!</p> </body> </html>
docker run -d -p 80:80 \ --name nginx-prod \ -v /root/nginx/html:/usr/share/nginx/html \ -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /root/nginx/logs:/var/log/nginx nginx
docker stop nginx-zimug; docker rm nginx-zimug;
以上是怎麼使用docker安裝nginx提供的web服務的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

退出 Docker 容器的四種方法:容器終端中使用 Ctrl D 快捷鍵容器終端中輸入 exit 命令宿主機終端中使用 docker stop <container_name> 命令宿主機終端中使用 docker kill <container_name> 命令(強制退出)

可以通過以下步驟查詢 Docker 容器名稱:列出所有容器(docker ps)。篩選容器列表(使用 grep 命令)。獲取容器名稱(位於 "NAMES" 列中)。

Docker 中將文件拷貝到外部主機的方法:使用 docker cp 命令:執行 docker cp [選項] <容器路徑> <主機路徑>。使用數據卷:在主機上創建目錄,在創建容器時使用 -v 參數掛載該目錄到容器內,實現文件雙向同步。

重啟 Docker 容器的方法:獲取容器 ID(docker ps);停止容器(docker stop <container_id>);啟動容器(docker start <container_id>);驗證重啟成功(docker ps)。其他方法:Docker Compose(docker-compose restart)或 Docker API(參考 Docker 文檔)。

在 Docker 中啟動 MySQL 的過程包含以下步驟:拉取 MySQL 鏡像創建並啟動容器,設置根用戶密碼並映射端口驗證連接創建數據庫和用戶授予對數據庫的所有權限

Docker 進程查看方法:1. Docker CLI 命令:docker ps;2. Systemd CLI 命令:systemctl status docker;3. Docker Compose CLI 命令:docker-compose ps;4. Process Explorer(Windows);5. /proc 目錄(Linux)。

可切換到國內鏡像源,步驟如下:1. 編輯配置文件 /etc/docker/daemon.json,添加鏡像源地址;2. 保存退出後,重啟 Docker 服務 sudo systemctl restart docker,即可提升鏡像下載速度和穩定性。
