Docker容器部署 Nginx服務 Docker容器部署 Nginx服務
Docker容器部署 Nginx服務
1.查詢 Docker Hub 上的 nginx 映象
[root@localhost ~]# docker search nginx
2.拉取官方的Nginx映象
[root@localhost ~]# docker pull nginx
3.在本地映象列表裡查到 REPOSITORY 為 nginx 的映象
[root@localhost ~]# docker images nginx REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest f949e7d76d63 5 weeks ago 126 MB [root@localhost ~]#
4.以下命令使用 NGINX 預設的配置來啟動一個 Nginx 容器例項:
[root@localhost ~]# docker run --rm --name nginx-test -p 8080:80 -d nginx 358354f206fdbc5c20199a307392c11972b1bedab306144e5af56995edbb3e4b
其中,該命令的四個命令列引數的含義如下。
--rm:容器終止執行後,自動刪除容器檔案。
--name nginx-test:容器的名字叫做nginx-test,名字自己定義.
-p: 埠進行對映,將本地 8080 埠對映到容器內部的 80 埠
-d:容器啟動後,在後臺執行
5.檢視啟動的docker容器
[root@localhost ~]# docker container ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4a7494723341 nginx "nginx -g 'daemon ..." 11 seconds ago Up 7 seconds 0.0.0.0:8080->80/tcp nginx-test
在瀏覽器中開啟http://172.17.0.1:8080,效果如下.
號外:
######################################################################################
windows宿主機訪問centOS7虛擬機器中的docker服務
問題描述:在筆記本windows10中,centos7虛擬機器運行了docker nginx容器,但是windows10的瀏覽器無法訪問docker中的Nginx服務。
問題解決:1、虛擬機器命令:ifconfig
檢視docker容器的網段、centos的IP地址:
docker容器的網段為:172.17.0.0 centos虛擬機器的IP地址為:192.168.158.10
管理員身份打windows10的dos視窗,或者執行-CMD
新增如下路由:C:\windows\system32>ROUTE -p add 172.17.0.0 mask 255.255.0.0 192.168.158.10
#####################################################################################
例項2:nginx 服務部署,對映本地目錄到nginx容器
1.建立本地目錄,用於存放Nginx的相關檔案資訊.
# mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf
其中:
www: 目錄將對映為 nginx 容器配置的虛擬目錄。
logs: 目錄將對映為 nginx 容器的日誌目錄。
conf: 目錄裡的配置檔案將對映為 nginx 容器的配置檔案。
2.拷貝容器內 Nginx 預設配置檔案到本地當前目錄下的 conf 目錄,容器ID可以檢視 docker ps 命令輸入中的第一列:
[root@localhost home]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 358354f206fd nginx "nginx -g 'daemon ..." 29 minutes ago Up 29 minutes 0.0.0.0:8080->80/tcp nginx-test [root@localhost home]# [root@localhost home]# docker cp 358354f206fd:/etc/nginx/nginx.conf /home/nginx/conf/
3.部署命令
# docker run --rm -d -p 8081:80 --name nginx-test-web \ -v /home/nginx/www:/usr/share/nginx/html \ -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/nginx/logs:/var/log/nginx \ nginx
命令說明:
--rm:容器終止執行後,自動刪除容器檔案。
-p 8081:80: 將容器的 80 埠對映到主機的 8082 埠.
--name nginx-test-web:將容器命名為 nginx-test-web
-v /home/nginx/www:/usr/share/nginx/html:將我們自己建立的 www 目錄掛載到容器的 /usr/share/nginx/html。
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:將我們自己建立的 nginx.conf 掛載到容器的 /etc/nginx/nginx.conf。
-v /home/nginx/logs:/var/log/nginx:將我們自己建立的 logs 掛載到容器的 /var/log/nginx。
4.啟動以上命令後進入 /home/nginx/www 目錄:
[root@localhost ~]# cd /home/nginx/www/ [root@localhost www]# vim index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Nginx test !!!</title> </head> <body> <h1>我的第一個標題</h1> <p>我的第一個段落。</p> </body> </html>
在瀏覽器裡面輸入http://172.17.0.1:8081/,輸出結果如下,如果在訪問時出現403錯誤,應該是index.html檔案許可權不足,給成644就行.
1.查詢 Docker Hub 上的 nginx 映象
[root@localhost ~]# docker search nginx
2.拉取官方的Nginx映象
[root@localhost ~]# docker pull nginx
3.在本地映象列表裡查到 REPOSITORY 為 nginx 的映象
[root@localhost ~]# docker images nginx REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/nginx latest f949e7d76d63 5 weeks ago 126 MB [root@localhost ~]#
4.以下命令使用 NGINX 預設的配置來啟動一個 Nginx 容器例項:
[root@localhost ~]# docker run --rm --name nginx-test -p 8080:80 -d nginx 358354f206fdbc5c20199a307392c11972b1bedab306144e5af56995edbb3e4b
其中,該命令的四個命令列引數的含義如下。
--rm:容器終止執行後,自動刪除容器檔案。
--name nginx-test:容器的名字叫做nginx-test,名字自己定義.
-p: 埠進行對映,將本地 8080 埠對映到容器內部的 80 埠
-d:容器啟動後,在後臺執行
5.檢視啟動的docker容器
[root@localhost ~]# docker container ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4a7494723341 nginx "nginx -g 'daemon ..." 11 seconds ago Up 7 seconds 0.0.0.0:8080->80/tcp nginx-test
在瀏覽器中開啟http://172.17.0.1:8080,效果如下.
號外:
######################################################################################
windows宿主機訪問centOS7虛擬機器中的docker服務
問題描述:在筆記本windows10中,centos7虛擬機器運行了docker nginx容器,但是windows10的瀏覽器無法訪問docker中的Nginx服務。
問題解決:1、虛擬機器命令:ifconfig
檢視docker容器的網段、centos的IP地址:
docker容器的網段為:172.17.0.0 centos虛擬機器的IP地址為:192.168.158.10
管理員身份打windows10的dos視窗,或者執行-CMD
新增如下路由:C:\windows\system32>ROUTE -p add 172.17.0.0 mask 255.255.0.0 192.168.158.10
#####################################################################################
例項2:nginx 服務部署,對映本地目錄到nginx容器
1.建立本地目錄,用於存放Nginx的相關檔案資訊.
# mkdir -p /home/nginx/www /home/nginx/logs /home/nginx/conf
其中:
www: 目錄將對映為 nginx 容器配置的虛擬目錄。
logs: 目錄將對映為 nginx 容器的日誌目錄。
conf: 目錄裡的配置檔案將對映為 nginx 容器的配置檔案。
2.拷貝容器內 Nginx 預設配置檔案到本地當前目錄下的 conf 目錄,容器ID可以檢視 docker ps 命令輸入中的第一列:
[root@localhost home]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 358354f206fd nginx "nginx -g 'daemon ..." 29 minutes ago Up 29 minutes 0.0.0.0:8080->80/tcp nginx-test [root@localhost home]# [root@localhost home]# docker cp 358354f206fd:/etc/nginx/nginx.conf /home/nginx/conf/
3.部署命令
# docker run --rm -d -p 8081:80 --name nginx-test-web \ -v /home/nginx/www:/usr/share/nginx/html \ -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/nginx/logs:/var/log/nginx \ nginx
命令說明:
--rm:容器終止執行後,自動刪除容器檔案。
-p 8081:80: 將容器的 80 埠對映到主機的 8082 埠.
--name nginx-test-web:將容器命名為 nginx-test-web
-v /home/nginx/www:/usr/share/nginx/html:將我們自己建立的 www 目錄掛載到容器的 /usr/share/nginx/html。
-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:將我們自己建立的 nginx.conf 掛載到容器的 /etc/nginx/nginx.conf。
-v /home/nginx/logs:/var/log/nginx:將我們自己建立的 logs 掛載到容器的 /var/log/nginx。
4.啟動以上命令後進入 /home/nginx/www 目錄:
[root@localhost ~]# cd /home/nginx/www/ [root@localhost www]# vim index.html <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Nginx test !!!</title> </head> <body> <h1>我的第一個標題</h1> <p>我的第一個段落。</p> </body> </html>
在瀏覽器裡面輸入http://172.17.0.1:8081/,輸出結果如下,如果在訪問時出現403錯誤,應該是index.html檔案許可權不足,給成644就行.