Docker容器中运行一个Apache服务器

本教程指导如何在具备Docker的CentOS环境中,通过编写Dockerfile来创建并运行一个Apache服务器。首先,切换到root用户并在根目录下创建test目录,然后编辑Dockerfile,指定安装Apache。接着,使用`docker build`命令构建镜像,镜像名为apache2。完成后,利用`docker run`以交互模式启动容器,并将主机的4004端口映射到容器的80端口。通过访问主机的4004端口,即可查看到Apache的主页。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 前提条件安装好Docker的Linux环境
    可以看本文Centos7通过Dockerfile运行hello world

  • 1.在根目录下创建一个test目录,并编写Dockerfile。
    需在root用户下进行操作
    # sudo su - 切换成root用户
    # cd / 进入根目录
    # mkdir test 创建一个test目录
    # cd /test 进入test目录
    # vi Dockerfile编辑Dockerfile文件,如没有该文件vi会自动创建该文件

    # 此处是必须有的,基于ubuntu16.04的镜像开始
    FROM ubuntu:16.04
    
    # 作者信息
    MAINTAINER Mark
    
    COPY apt.conf /etc/apt/apt.conf
    # apt.conf是apt的代理配置文件,如你在封闭式的环境下开发就需要创建好apt.conf文件,样式与你Dockerfile的根镜像的系统中的apt.conf样式一样,如此处我的根镜像为ubuntu系统,我编写好代理文件复制到test目录下,注意Dockerfile操作的文件都是基于当前目录下进行的。
    # 不是封闭式的环境无需此步COPY apt.conf操作
    
    # 因无法保证此处获取的ubuntu16.4的apt-get的源是最新的,需更新apt-get
    RUN apt-get update -y
    
    # 通过apt-get安装apache2
    RUN apt-get install apache2 -y
    
    # 最后暴露80端口
    EXPOSE 80
    # Dockerfile中开头为#号的为注释,至此Dockerfile编写完成
    

    2.建立Docker镜像
    docker build /test/ -t apache2 docker会自动获取该路径下名为Dockerfile的文件并开始建立镜像名为apache2的镜像
    此时docker开始读取Dockerfile并下载所需的软件

完成build操作后。。。
# docker images 将会列出此时系统中所有你建立过的镜像
运行该镜像并运行这个容器
# docker run -it -p 4004:80 apache2 /bin/bash
-it是互动模式,启动该容器并进入该容器中
-p 4004:80此处为主机映射docker的80端口
apache2为镜像名也可以为镜像ID通过# docker images查看的有镜像id这一栏
/bin/bash互动模式并进入bash命令列
此时进入容器的标注是#后前有一串字符串
启动apache服务器
#root@cacae3f5bfc6:/#/etc/init.d/apache2 restart

  • 此时你可通过访问http://主机ip:4004访问到apache的主页
    注意不是docker容器的ip此时访问主机的ip与4004端口会自动映射到我们刚刚启动的docker容器

新开一个终端,可通过# docker ps查看主机启动的docker容器

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值