一、配置文件放到容器內部
1、編寫docker 容器的dockerFile ,如下
cd /home/decker_home
vim DockerFile
FROM centos
MAINTAINER Dirk.Wang [email protected]
LABEL Discription="基於centos的nginx鏡像" version="1.0"
WORKDIR /usr/local/src
RUN yum install -y wget
RUN wget http://nginx.org/download/nginx-1.8.0.tar.gz
RUN tar -zxvf nginx-1.8.0.tar.gz
WORKDIR nginx-1.8.0
#安裝nginx所依賴的包
RUN yum -y install gcc-c++
RUN yum -y install pcre pcre-devel
RUN yum -y install zlib zlib-devel
RUN yum -y install openssl openssl-devel libssl-dev
RUN ./configure
RUN make
RUN make install
EXPOSE 80
2、執行docker 命令,從dockerFile運行一個容器
docker build -t nginx_docker /home/docker_home/nginx
出現如上圖所示的結果,表示構建成功。
3、開啓Nginx,docker容器
docker run -dit -p 8085:80 centos_nginx
4、進入Nginx容器
docker attach 3e0a51f26862
啓動 Nginx
/usr/local/nginx/sbin/nginx
5、開啓8085 端口
firewall-cmd --zone=public --add-port=8085/tcp --permanent
systemctl restart firewalld.service
6、訪問對應的網址
表示安裝成功。
二、配置文件放到容器外部
1、mkdir -p /home/docker_home/nginx/{conf,conf.d,html,log} 創建外部依賴的文件目錄
2、啓動容器
docker run --name docker_nginx -dit -p 80:80 --privileged=true -v/home/docker_home/nginx/conf/:/usr/local/nginx/conf/:ro -v/home/docker_home/logs:/usr/local/nginx/logs -v/home/docker_home/nginx/html:/usr/local/nginx/html:ro nginx_docker
3、複製配置文件到容器外
docker cp centos_nginx:/usr/local/nginx/conf /home/docker_home/nginx/conf
docker cp centos_nginx:/usr/local/nginx/html /home/docker_home/nginx/html
docker cp centos_nginx:/usr/local/nginx/logs /home/docker_home/nginx/logs
3、啓動Nginx服務器
docker restart docker_nginx
docker exec -t docker_nginx /usr/local/nginx/sbin/nginx