1. 程式人生 > 其它 >Docker容器部署 Nginx服務 Docker容器部署 Nginx服務

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就行.