dockerfile案例

dockerfile案例

nginx

1.将Centos-7 . repo 、 epel-7 . repo 文件拖进虚拟机

[root@yyy ~]# ll
total 13592
-rw-r--r--. 1 root root     2523 Aug 29 11:00 Centos-7.repo
-rw-r--r--. 1 root root      341 Aug 31 06:09 Dockerfile
-rw-r--r--. 1 root root      664 Aug 29 11:00 epel-7.repo
-rw-r--r--. 1 root root       45 Aug 31 06:10 init.sh
-rw-r--r--. 1 root root 13894810 Aug 29 11:03 kodexplorer4.40.zip
-rw-r--r--. 1 root root      523 Aug 29 11:03 nginx.txt

2.部署dockerfile

[root@yyy ~]# vim dockerfile

FROM centos:7
MAINTAINER zhengbichao@example.com
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel-7.repo /etc/yum.repos.d/
RUN yum install -y nginx
EXPOSE 80
CMD ["/usr/sbin/nginx","-g","daemon off;"]

3.构建镜像,镜像名称为nginx:v1

[root@yyy ~]# docker build -t nginx:z1 .

Successfully built a92337fcd12c
Successfully tagged nginx:z1

4.运行容器 ,映射端口为88:80

[root@yyy ~]# docker run -d --name zhengbichao -p 88:80 nginx:z1 
4638b6c17614bff7a0573eff47d3b42323300f395cfa6bc5bc01e1d4ec458fcd
[root@yyy ~]# docker ps
CONTAINER ID   IMAGE      COMMAND                  CREATED         STATUS         PORTS                               NAMES
4638b6c17614   nginx:z1   "/usr/sbin/nginx -g …"   3 seconds ago   Up 2 seconds   0.0.0.0:88->80/tcp, :::88->80/tcp   zhengbichao

5.进入容器,删除默认网页,写入新的默认网页

[root@yyy ~]# docker exec -it zhengbichao /bin/bash
[root@4638b6c17614 /]# cd /usr/share/nginx/html/
[root@4638b6c17614 html]# ll
total 12
-rw-r--r--. 1 root root 3650 Oct 18  2021 404.html
-rw-r--r--. 1 root root 3693 Oct 18  2021 50x.html
lrwxrwxrwx. 1 root root   20 Aug 30 23:05 en-US -> ../../doc/HTML/en-US
drwxr-xr-x. 2 root root   27 Aug 30 23:05 icons
lrwxrwxrwx. 1 root root   18 Aug 30 23:05 img -> ../../doc/HTML/img
lrwxrwxrwx. 1 root root   25 Aug 30 23:05 index.html -> ../../doc/HTML/index.html
-rw-r--r--. 1 root root  368 Oct 18  2021 nginx-logo.png
lrwxrwxrwx. 1 root root   14 Aug 30 23:05 poweredby.png -> nginx-logo.png

[root@4638b6c17614 html]# rm -rf index.html 
[root@4638b6c17614 html]# vim index.html
bash: vim: command not found
[root@4638b6c17614 html]# vi index.html

在这里插入图片描述

扫雷

做前准备

1.在一号虚拟机下载httpd并设置开机自启

[root@zzz ~]# mount /dev/cdrom /mnt/
mount: /mnt: WARNING: device write-protected, mounted read-only.
[root@zzz ~]# yum install -y httpd
[root@zzz ~]# systemctl enable --now httpd
Created symlink /etc/systemd/system/multi-user.target.wants/httpd.service → /usr/lib/systemd/system/httpd.service.

2.上传扫雷的软件包

[root@zzz ~]# cd /var/www/html/
[root@zzz html]# rz -E
rz waiting to receive.
[root@zzz html]# ll
total 244
-rw-r--r--. 1 root root 247278 Aug 29 11:03 saolei.zip

防火墙

[root@zzz ~]# systemctl stop firewalld
[root@zzz ~]# systemctl disable firewalld
Removed /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
[root@zzz ~]# vi /etc/selinux/config 

···
SELINUX=disabled
···

部署Dockerfile

1.在二号虚拟机上下载lrzsz,将Centos-7 . repo 、 epel-7 . repo 文件拖进虚拟机

[root@yyy ~]# rz -E
rz waiting to receive.
[root@yyy ~]# rz -E
rz waiting to receive.
[root@yyy ~]# ll
total 8
-rw-r--r--. 1 root root 2523 Aug 29 11:00 Centos-7.repo
-rw-r--r--. 1 root root  664 Aug 29 11:00 epel-7.repo

2.编辑dockerfile

[root@yyy ~]# vim Dockerfile 

FROM centos:7  
MAINTAINER zhengbichao@example.com   
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel-7.repo /etc/yum.repos.d/
RUN yum install -y tomcat unzip curl
WORKDIR /var/lib/tomcat/webapps/
RUN curl -O http://192.168.87.128/saolei.zip && \
unzip saolei.zip && \
mv saolei ROOT
ADD init.sh /init.sh
EXPOSE 8080
CMD ["/bin/bash","/init.sh"]

[root@yyy ~]# vim init.sh

#!/bin/bash
/usr/libexec/tomcat/server start

3.构建镜像

[root@yyy ~]# docker build -t saolei:z1 .

Successfully built 4c934871209c
Successfully tagged saolei:z1

4.运行容器

[root@yyy ~]# docker run -d --name zhengbichao -p 8081:8080 saolei:z1 
b735d8127032c606894ebd7b2ac54f8d1e0c6c7c2dc40de6f535181529293c60
[root@yyy ~]# docker ps
CONTAINER ID   IMAGE       COMMAND                CREATED         STATUS         PORTS                                       NAMES
b735d8127032   saolei:z1   "/bin/bash /init.sh"   6 seconds ago   Up 5 seconds   0.0.0.0:8081->8080/tcp, :::8081->8080/tcp   zhengbichao

在这里插入图片描述

可道云

1.将kodexplo re r4.40.zi p 和 nginx . txt 文件拖至该虚拟机中

[root@yyy ~]# ll
total 16
-rw-r--r--. 1 root root 2523 Aug 29 11:00 Centos-7.repo
-rw-r--r--. 1 root root  341 Aug 31 06:09 Dockerfile
-rw-r--r--. 1 root root  664 Aug 29 11:00 epel-7.repo
-rw-r--r--. 1 root root   45 Aug 31 06:10 init.sh
[root@yyy ~]# rz -E
rz waiting to receive.
[root@yyy ~]# rz -E
rz waiting to receive.
[root@yyy ~]# ll
total 13592
-rw-r--r--. 1 root root     2523 Aug 29 11:00 Centos-7.repo
-rw-r--r--. 1 root root      341 Aug 31 06:09 Dockerfile
-rw-r--r--. 1 root root      664 Aug 29 11:00 epel-7.repo
-rw-r--r--. 1 root root       45 Aug 31 06:10 init.sh
-rw-r--r--. 1 root root 13894810 Aug 29 11:03 kodexplorer4.40.zip
-rw-r--r--. 1 root root      523 Aug 29 11:03 nginx.txt

2.创建/opt/dockerfile/kod目录,将所需的软件包和文件放置该目录下

[root@yyy ~]# mkdir -p /opt/dackerfile/kod/
[root@yyy ~]# cd  /opt/dackerfile/kod/
[root@yyy kod]# cp /root/* /opt/dackerfile/kod/
[root@yyy kod]# mv nginx.txt nginx.conf
[root@yyy kod]# ls
Centos-7.repo  Dockerfile  epel-7.repo  init.sh  kodexplorer4.40.zip  nginx.conf

3、在该目录下编辑dockerfile,使用基础镜像centos:7

[root@yyy kod]# vim dockerfile

FROM centos:7
ADD Centos-7.repo /etc/yum.repos.d/
ADD epel-7.repo /etc/yum.repos.d/
RUN yum install -y nginx php-fpm php-gd php-mbstring unzip && \
sed -i '/^user/c user=nginx' /etc/php-fpm.d/www.conf && \          
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 && \
chown -R nginx.nginx .
ADD init.sh /init.sh
EXPOSE 80
ENTRYPOINT ["/bin/bash","/init.sh"]

[root@yyy kod]# vim init.sh

#!/bin/bash
php-fpm -D
echo "$1" >> /etc/nginx/nginx.conf
nginx -g 'daemon off;'

4、构建镜像kod:v1

[root@yyy kod]# docker build -t kod:v1 .

Successfully built eeb98b2b3d98
Successfully tagged kod:v1

5、运行容器,指定映射端口80:80

[root@yyy kod]# docker run -d --name zhengbichao -p 80:80 kod:v1 
bd441fb33fb5cca8685ee9312571b04cb0187b7d414e677a61d7923c4d6299cb
[root@yyy kod]# docker ps
CONTAINER ID   IMAGE     COMMAND                CREATED         STATUS         PORTS                               NAMES
bd441fb33fb5   kod:v1    "/bin/bash /init.sh"   2 seconds ago   Up 2 seconds   0.0.0.0:80->80/tcp, :::80->80/tcp   zhengbichao

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

seven凡

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值