Docker:构建nginx镜像,扫雷,可道云平台
·
Docker:构建nginx镜像,扫雷,可道云平台
用dockerfile在centos7的基础上构建nginx的镜像
[root@docker ~]# vim Dockerfile
FROM centos:7
RUN rm -rf /etc/yum.repos.d/*
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel-7.repo /etc/yum.repos.d/
RUN yum -y install nginx
EXPOSE 80
CMD ["/usr/sbin/nginx","-g","daemon off;"]
[root@docker ~]# docker build -t nginx:v1 .
[root@docker ~]# docker run -itd --name nginx -P nginx:v1
85a277b8b628d7a5f71879318eef57339244bef5dffb3cc441062414112ceba3
[root@docker ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
85a277b8b628 nginx:v1 "/usr/sbin/nginx -g …" 16 seconds ago Up 15 seconds 0.0.0.0:32768->80/tcp, :::32768->80/tcp nginx
访问网页测试

发现没有网页。我们进到nginx里查看
[root@docker ~]# docker exec -it nginx /bin/bash

发现网页故障,我们重新覆盖一下网页
[root@85a277b8b628 html]# rm -rf index.html
[root@85a277b8b628 html]# echo testnginx > index.html
再次测试,发现能够成功访问

扫雷案例
我们可以通过网页下载扫雷,也可以用本地的扫雷包来完成
FROM centos:7
RUN rm -rf /etc/yum.repos.d/*
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel-7.repo /etc/yum.repos.d/
RUN yum -y install tomcat unzip
WORKDIR /var/lib/tomcat/webapps/
ADD saolei.zip .
RUN unzip saolei.zip && mv saolei ROOT
ADD init.sh /init.sh
EXPOSE 8080
CMD ["/bin/bash","/init.sh"]
创建init.sh的脚本
[root@docker ~]# vim init.sh
#!/bin/bash
/usr/libexec/tomcat/server start
构建saolei的镜像
[root@docker ~]# docker build -t saolei:v1 .
运行saolei容器
[root@docker ~]# docker run -itd --name saolei -P saolei:v1
[root@docker ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4c88be42ec37 saolei:v1 "/bin/bash /init.sh" 26 seconds ago Up 25 seconds 0.0.0.0:32769->8080/tcp, :::32769->8080/tcp saolei
85a277b8b628 nginx:v1 "/usr/sbin/nginx -g …" 24 minutes ago Up 24 minutes 0.0.0.0:32768->80/tcp, :::32768->80/tcp nginx
查看

查看192.168.100.10:32769/saolei.jsp发现成功
构建可道云镜像
[root@docker ~]# mkdir dockerfile
[root@docker ~]# cd dockerfile/
[root@docker dockerfile]# mkdir kod
[root@docker dockerfile]# cd kod/
[root@docker kod]# ls
Centos-7.repo epel-7.repo nginx.conf
dockerfile kodexplorer4.40.zip
[root@docker kod]# cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name localhost;
location / {
root /code;
index index.php index.html index.htm;
}
location ~ \.php$ {
root /code;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME /code$fastcgi_script_name;
include fastcgi_params;
}
}
}
[root@docker kod]# vim dockerfile
FROM centos:7
RUN rm -rf /etc/yum.repos.d/*
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel-7.repo /etc/yum.repos.d/
RUN yum -y install nginx php-fpm php-gd php-mbstring unzip
RUN sed -i '/^user/c user=nginx' /etc/php-fpm.d/www.conf
RUN sed -i '/^group/c group=nginx' /etc/php-fpm.d/www.conf
COPY nginx.conf /etc/nginx/nginx.conf
RUN mkdir /code
WORKDIR /code
COPY kodexplorer4.40.zip .
RUN unzip kodexplorer4.40.zip
RUN chown -R nginx.nginx .
ADD init.sh /init.sh
EXPOSE 80
CMD ["/bin/bash","/init.sh"]
[root@docker kod]# vim init.sh
#!/bin/bash
php-fpm -D
nginx -g 'daemon off;'
构建镜像
[root@docker kod]# docker build -t kod:v3 .
运行
[root@docker kod]# docker run -itd --name kod -P kod:v3
[root@docker kod]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
61d6aa421b80 kod:v3 "/bin/bash /init.sh" 19 seconds ago Up 19 seconds 0.0.0.0:32770->80/tcp, :::32770->80/tcp kod
4c88be42ec37 saolei:v1 "/bin/bash /init.sh" 29 minutes ago Up 29 minutes 0.0.0.0:32769->8080/tcp, :::32769->8080/tcp saolei
85a277b8b628 nginx:v1 "/usr/sbin/nginx -g …" 54 minutes ago Up 54 minutes 0.0.0.0:32768->80/tcp, :::32768->80/tcp nginx
查看


更多推荐


所有评论(0)