Centos 6.5 Dockerfile 을 통 해 Nginx 를 구축 하고 lua - nginx - module 모듈 을 설치 합 니 다.
6435 단어 Docker
머리말
회사 의 서버 버 전 은:
centos6.5 2.6.32-431.el6.x86_64
명령 으로 docker 설치
yum -y install docker-io
설치 완료 후 Docker 를 시작 합 니 다. 알림:
docker: unrecognized service
인터넷 에서 한 바퀴 찾 아 보 니 다음 과 같은 설명 이 있 습 니 다.
Docker 용기 가 최초 로 RHEL 의 완벽 한 지원 을 받 은 것 은 최근 CentOS 7.0 에서 시 작 된 것 으로 공식 설명 은 64 비트 구조 플랫폼 에서 만 실행 할 수 있 고 커 널 버 전 은 2.6.32 - 431 이상 (즉 > = CentOS 6.5, docker 를 실행 할 때 실제 알림 3.10.0 이상) 이다.주의해 야 할 것 은 CentOS 6.5 와 7.0 의 설치 가 조금씩 다르다 는 것 이다. CentOS 6. x 에 있 는 Docker 의 설치 패 키 지 는 docker - io 이 고 Fedora epel 라 이브 러 리 에서 유래 한 것 이다. 이 창 고 는 발행 판 에 포함 되 지 않 은 소프트웨어 를 대량으로 유지 하기 때문에 먼저 EPEL 을 설치 해 야 한다. CentOS 7. x 의 Docker 는 공식 미 러 소스 의 Extras 창고 (CentOS - base. repo 의 [extras] 에 직접 포함 되 어 있다.절 enable = 1 활성화).
커 널 버 전이 너무 낮 아...커 널 을 업그레이드 해 야 합 니 다.
설 치 된 nginx 버 전 은 다음 과 같 습 니 다.
nginx-1.14.0.tar.gz
LuaJIT-2.0.5.tar.gz
ngx_devel_kit-0.3.0.tar.gz
lua-nginx-module-0.10.13.tar.gz
ngx_cache_purge-2.3.tar.gz
사용 하 는 docker 버 전 은 다음 과 같 습 니 다.
Docker version 1.7.1, build 786b29d/1.7.1
2. 커 널 업그레이드
(1) 커 널 버 전 보기
$ uname -r
\ # 결과: 2.6.32 - 431. el6. x8664. 위의 수 요 를 만족 시 키 지 못 하기 때문에 커 널 을 업그레이드 해 야 합 니 다.
(2) 다음 두 파일 을 다운로드 합 니 다.
kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm.gz
kernel-ml-aufs-devel-3.10.5-3.el6.x86_64.rpm.gz
(3) 、 스트레스 해소:
gunzip kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm.gz
gunzip kernel-ml-aufs-devel-3.10.5-3.el6.x86_64.rpm.gz
(4) 、 설치:
rpm -ivh kernel-ml-aufs-3.10.5-3.el6.x86_64.rpm kernel-ml-aufs-devel-3.10.5-3.el6.x86_64.rpm
(5) 、 설정 수정:
vi /etc/grub.conf
default = 1 을 default = 0 으로 바 꾸 고 컴퓨터 (reboot) 를 다시 시작 한 다음 uname - r 를 봅 니 다.
3. docker 설치
epel:
yum install epel-release
docker:
yum install docker-io
4. Docker 시작
service docker start
프로 세 스 보기
ps -ef | grep docker
5. Dockerfile Nginx 미 러 구축
/ home / docker / 디 렉 터 리 에 Dockerfile 파일 을 만 듭 니 다. 내용 은 다음 과 같 습 니 다.
# nginx Dockerfile
# Version 1.0
# author fendo
# Base images
FROM centos:centos7
#FROM hub.c.163.com/netease_comb/centos:7
#
RUN yum -y update
RUN yum -y install gcc gcc-c++ autoconf automake make
RUN yum -y install zlib zlib-devel openssl* pcre* wget lua-devel
#MAINTAINER
MAINTAINER fendo [email protected]
#ADD url ,
ADD http://nginx.org/download/nginx-1.14.0.tar.gz /tmp/
#LuaJIT 2.1
#ADD http://luajit.org/download/LuaJIT-2.0.5.tar.gz /tmp/
ADD https://github.com/LuaJIT/LuaJIT/archive/v2.0.5.tar.gz /tmp/
#ngx_devel_kit(NDK)
ADD https://github.com/simpl/ngx_devel_kit/archive/v0.3.0.tar.gz /tmp/
#lua-nginx-module
ADD https://github.com/openresty/lua-nginx-module/archive/v0.10.13.tar.gz /tmp/
#nginx ngx_cache_purge
ADD http://labs.frickle.com/files/ngx_cache_purge-2.3.tar.gz /tmp/
#
WORKDIR /tmp
# LuaJIT 2.0.5
#RUN wget http://luajit.org/download/LuaJIT-2.0.5.tar.gz -P /tmp/
RUN tar zxf v2.0.5.tar.gz
WORKDIR /tmp/LuaJIT-2.0.5
#RUN cd LuaJIT-2.0.5
RUN make PREFIX=/usr/local/luajit
RUN make install PREFIX=/usr/local/luajit
# ngx_devel_kit(NDK)
WORKDIR /tmp
RUN tar -xzvf v0.3.0.tar.gz
RUN cp -r ngx_devel_kit-0.3.0/ /usr/local/src/
# lua-nginx-module
RUN tar -xzvf v0.10.13.tar.gz
RUN cp -r lua-nginx-module-0.10.13/ /usr/local/src/
# nginx ngx_cache_purge
RUN tar -xzvf ngx_cache_purge-2.3.tar.gz
RUN cp -r ngx_cache_purge-2.3/ /usr/local/src/
#
RUN export LUAJIT_LIB=/usr/local/lib
RUN export LUAJIT_INC=/usr/local/include/luajit-2.0
RUN mkdir -p {/usr/local/nginx/logs,/var/lock}
# Nginx
RUN useradd -M -s /sbin/nologin nginx
RUN tar -zxvf nginx-1.14.0.tar.gz
RUN mkdir -p /usr/local/nginx
RUN cd /tmp/nginx-1.14.0 \
&& ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx \
--error-log-path=/usr/local/nginx/logs/error.log \
--http-log-path=/usr/local/nginx/logs/access.log \
--pid-path=/usr/local/nginx/logs/nginx.pid \
--lock-path=/var/lock/nginx.lock \
--with-ld-opt="-Wl,-rpath,/usr/local/luajit/lib" \
--with-http_stub_status_module \
--with-http_ssl_module \
--with-http_sub_module \
--add-module=/usr/local/src/lua-nginx-module-0.10.13 \
--add-module=/usr/local/src/ngx_devel_kit-0.3.0 \
--add-module=/usr/local/src/ngx_cache_purge-2.3 \
&& make && make install
#
#--prefix nginx
#--add-module , fdfs nginx
#--with..._module nginx , http_ssl_module
RUN /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
RUN ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
#EXPOSE
EXPOSE 80 443
#CMD
#CMD ["nginx"]
CMD ["/usr/local/nginx/sbin/nginx","-g","daemon off;"]
이 디 렉 터 리 에서 다음 명령 을 실행 하여 미 러 를 구축 합 니 다:
docker build -t centos/nginx:1.14 .
그리고 용기 보기:
docker images
6. 미 러 시작
다음 두 가지 방식 으로 미 러 를 시작 할 수 있 습 니 다:
docker run -itd -p 192.168.1.100:80:80 centos_nginx:1.14 /bin/bash
docker run -itd -p 192.168.1.100:80:80 -p 192.168.1.100:443:443 centos_nginx:1.14 /usr/local/nginx/sbin/nginx -g "daemon off;"
시작 에 실패 하면 미 러 에 들 어가 명령 / usr / local / nginx / sbin / nginx 를 통 해 nginx 를 시작 할 수 있 습 니 다.
7. 거울 에 들어가다
미 러 를 시작 하면 다음 명령 을 통 해 미 러 에 들 어 갈 수 있 습 니 다.
docker attach ID
미 러 에서 종료 하려 면 ctrl + d 를 통 해 종료 하면 바로 미 러 가 멈 추 므 로 Ctrl + P + Q 를 눌 러 콘 솔 을 종료 하고 docker ps 를 통 해 확인 해 야 합 니 다.
8. Nginx 방문
위 에 연 결 된 포트 를 통 해 접근:
192.168.1.100:80:80
9. 상용 명령
1. 모든 container 를 중지 해 야 이미지 가 삭 제 됩 니 다.
docker stop $(docker ps -a -q)
모든 container 를 삭제 하려 면 명령 을 추가 하 십시오:
docker rm $(docker ps -a -q)
2. 현재 어떤 이미지 가 있 는 지 확인
docker images
3. images 삭제, image 의 id 를 통 해 누 구 를 삭제 할 지 지정
docker rmi
untagged images 를 삭제 하려 면 id 가 있 는 image 를 사용 할 수 있 습 니 다.
docker rmi $(docker images | grep "^" | awk "{print $3}")
모든 이미 지 를 삭제 하려 면
docker rmi $(docker images -q)
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
첫 번째 Docker for Mac참고 , 나는 옆에 있는 Mac에 Docker를 설치하고 컨테이너를 세워 보고 싶다. Docker Hub를 처음 사용할 때는 계정을 만들어야 합니다. Docker.dmg을 실행하면 Docker가 설치됩니다. Dock...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.