我是在win10機器上搭建了一個docker,在docker啟動了centos容器,在centos中安裝nginx。
- 安裝配置docker
直接在官網下載docker for windows:https://store.docker.com/editions/community/docker-ce-desktop-windows,下載完成,點擊按照默認一步步安裝就行了。如果希望加快pull鏡像的速度,可以選擇配置一個阿里雲鏡像加速器。
- 安裝centos
用管理員身份運行docker,根據實踐來看,如果不這樣做的話,docker容器無法ping 通外外網。
從阿里雲鏡像服務中拉取一個centos鏡像:docker pull registry.cn-hangzhou.aliyuncs.com/max/centos6.7-docker
啟動容器:docker run --name my-cnt-centos-6.7 -itd -p 80:80 <鏡像> /bin/bash
查看運行的容器:docker ps,找到剛剛啟動的容器id
進入這個容器:docker exec -it <容器id> /bin/bash

這樣便成功啟動了centos。
- 安裝Nginx
必要的環境安裝:yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel open openssl-devel
下載nginx: cd /usr/local ,wget http://nginx.org/download/nginx-1.7.4.tar.gz
解壓nginx:tar -zxvf nginx-1.7.4.tar.gz
安裝nginx:進入解壓目錄,執行./configure prefix=/usr/local/nginx,配置安裝目錄;執行make和make install命令,就安裝完成了。
- 訪問Nginx
這里或許就是我寫這篇隨筆的目的,因為的確在這里耽擱了很長的時間。
遇到的第一個問題,centos中始終無法ping通外網,后來改為用管理員啟動docker后,再次啟動centos就解決了這個問題。
遇到的第二個問題,如何訪問Nginx,因為直接在瀏覽器中輸入centos的IP,無法訪問到Nginx的welcome頁面。后來才知道宿主機要訪問docker容器中的服務,必須要進行端口映射,在啟動容器時,如果不配置宿主機器與docker容器的端口映射,外部是無法訪問docker容器。這就是為什么我在前面啟動centos時,加了-p 80:80端口映射的原因。然后需要通過:localhost:80進行訪問。

