Docker容器部署 Nginx服務

 

1.查找 Docker Hub 上的 nginx 鏡像html

[root@localhost ~]# docker search nginx

2.拉取官方的Nginx鏡像nginx

[root@localhost ~]# docker pull nginx

3.在本地鏡像列表裏查到 REPOSITORY 爲 nginx 的鏡像web

[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 容器實例:docker

[root@localhost ~]# docker run --rm --name nginx-test -p 8080:80 -d nginx 358354f206fdbc5c20199a307392c11972b1bedab306144e5af56995edbb3e4b

其中,該命令的四個命令行參數的含義以下。
      --rm:容器終止運行後,自動刪除容器文件。
      --name nginx-test:容器的名字叫作nginx-test,名字本身定義.
      -p: 端口進行映射,將本地 8080 端口映射到容器內部的 80 端口
      -d:容器啓動後,在後臺運行vim

5.查看啓動的docker容器windows

[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,效果以下.centos

號外:瀏覽器

######################################################################################tcp

windows宿主機訪問centOS7虛擬機中的docker服務centos7

問題描述:在筆記本windows10中,centos7虛擬機運行了docker nginx容器,可是windows10的瀏覽器沒法訪問docker中的Nginx服務。

問題解決:一、虛擬機命令: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就行.

相關文章
相關標籤/搜索