docker 1.3之在容器里安装nginx服务

一。1.通过docker部署nginx

[root@elk ~]# docker exec -it nginx /bin/bash
[root@7d0d550d72c5 /]# 

 

n --name=nginx -p 80 -it centos

2.查询nginx端口映射

[root@elk ~]# docker ps|grep nginx
7d0d550d72c5   centos    "/bin/bash"   9 days ago   Up 9 days   0.0.0.0:49153->80/tcp, :::49153->80/tcp   nginx

3.进入nginx容器里安装nginx

4.查看下容器ip

复制代码
[root@7d0d550d72c5 /]# ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
14: eth0@if15: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default 
    link/ether 02:42:ac:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172.17.0.3/16 brd 172.17.255.255 scope global eth0
       valid_lft forever preferred_lft forever
复制代码

5.安装nginx

yum  install  -y nginx

6.创建等下访问nginx的页面

复制代码
vim  /var/www/html/index.html

<html>
        <head>
                 <title>nginx in docker</title>
        </head>
        <body>
                <h1>hello,My Name duoduo</h1>
        </body>
</html>
复制代码

7.配置nginx的conf文件下的访问路径

[root@7d0d550d72c5 /]# vim /etc/nginx/nginx.conf


root    /var/www/html/  ;

8.启动nginx并测试是否能访问到

[root@7d0d550d72c5 ~]# /usr/sbin/nginx

两种访问方式:(1)容器ip+容器的端口172.17.0.3:80

(2)宿主机ip+宿主机映射容器端口,172.17.0.1:49153           可通过docker ps |grep nginx

7d0d550d72c5 centos "/bin/bash" 9 days ago Up 9 days 0.0.0.0:49153->80/tcp, :::49153->80/tcp nginx

 

1.dockerfile构建镜像可以使用docker  build命令

指定镜像版本,先查看下用哪一个镜像,我这边指定centos    TAG是7这个版本

 

 

 

案例:

FROM centos:7                     #FROM   +镜像名
MAINTAINER zhao       #作者信息
RUN yum install wget -y     #安装wget
RUN yum install nginx -y    #安装nginx
COPY index.html /usr/share/nginx/html/     
EXPOSE 80                       #声明端口,可以是多个EXPOSE <端口1> [<端口2>...]
ENTRYPOINT ["/usr/sbin/nginx","-g","daemon off;"]
 
 
 
CMD,类似于 RUN 指令,用于运行程序,RUN是在构建镜像时运行,CMD是在用镜像构建容器后被调用
 用法:CMD  ''echo''   ''hello docker''
例:
复制代码
[root@hd1 ~]# mkdir /root/dockerfile/test -p
[root@hd1 test]# cat dockerfile
#first dockerfile
FROM centos
MAINTAINER duoduo
RUN yum clean all
RUN yum install -y make zlib zlib-devel gcc-c++ nginx  libtool openssl openssl-devel-y 
EXPOSE
80
CMD [
"/usr/sbin/nginx","-g","daemon off;"]
复制代码

 

2.构建镜像
[root@elk test]# docker build -t nginx:v1 .      # .表示当前目录,也可以写绝对路径    docker build -t nginx:v2   /root/dockerfile/test/dockerfile

3.查看构建好的镜像

 

 

 
posted @   多次拒绝黄宗泽  阅读(226)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示