文档章节

创建带httpd服务的CentOS Docker镜像

d
 dragon_tech
发布于 05/30 10:50
字数 938
阅读 3
收藏 0

一、拉取带sshd服务的centos docker镜像到本地

命令:
  docker pull freedoms1988/centos7-sshd
解释:
  docker pull【拉取命令】 freedoms1988/centos7-sshd【远程镜像名】

二、启动带sshd服务的centos docker容器

命令:
  docker run -p 10022:22 -d freedoms1988/centos7-sshd /usr/sbin/sshd -D
解释:
  docker run【运行命令】 -p 10022:22【映射端口:宿主机10022到docker22】 -d freedoms1988/centos7-sshd【本地镜像名】 /usr/sbin/sshd -D【启动sshd命令】

三、登录容器

命令:
  ssh root@localhost -p 10022
解释:
  ssh root【用户】@localhost【主机名】 -p 10022【端口号】

四、安装openssh-clients

命令:
  yum install openssh-clients
解释:
  yum install【安装命令】openssh-clients【软件名称】

五、安装wget

命令:
  yum install wget
解释:
  yum install【安装命令】wget【软件名称】

六、下载httpd

命令:
  1、cd /usr/local/src
  2、wget [http://apache.01link.hk//httpd/httpd-2.4.29.tar.gz](http://apache.01link.hk//httpd/httpd-2.4.29.tar.gz)
  3、tar -zxvf httpd-2.4.29.tar.gz
  4、cd httpd-2.4.29
解释:
  1、进入源码暂存路径
  2、下载httpd2.4.29
  3、解压
  4、进入httpd2.4.29源码路径

七、安装gcc、make、apache依赖

命令:
  yum install -y gcc make apr-devel apr apr-util apr-util-devel pcre-devel
解释:
  yum install【安装命令】 -y【自动确认参数】 gcc make apr-devel apr apr-util apr-util-devel pcre-devel【软件名称】

八、编译、安装httpd

命令:
  1、./configure --prefix=/usr/local/apache2 --enable-mods-shared=most --enable-so
  2、make && make install
解释:
  1、配置编译参数,安装路径
  2、编译并安装

九、修改httpd配置

命令:
  sed -i 's/#ServerName www.example.com:80/ServerName localhost:80/g' /usr/local/apache2/conf/httpd.conf
解释:
  sed【查找命令】 -i【替换参数】 's/#ServerName www.example.com:80/ServerName localhost:80/g' 【待替换参数/替换参数】/usr/local/apache2/conf/httpd.conf【文件路径】

十、启动httpd

命令:
  1、/usr/local/apache2/bin/httpd
  2、systemctl enable httpd.service
解释:
  1、启动httpd
  2、设置开机自启动

十一、编辑ssh、httpd启动脚本

操作:
  1、cd /usr/local/sbin
  2、vim httpd.sh
  3、编辑内容:
      #!/bin/bash
      /usr/sbin/sshd &
      /usr/local/apache2/bin/httpd -D FOREGROUND
  4、保存退出
  5、更改文件权限
    chmod 755 httpd.sh

十二、生成支持ssh的centos镜像

命令:
  1、docker ps -a
  2、docker commit 6c40d0d2d8e centos7-sshd
  3、docker images
解释:
  1、docker ps【列出容器列表】 -a【可选参数,列出未启动容器列表】
  2、docker commit【提交】6c40d0d2d8e【上一步中容器id】 centos7-httpd2.4-sshd【自定义镜像名称】
  3、docker images【列出本地镜像列表】

十三、使用生成的镜像运行容器

命令:
  docker run -d -p 10022:22 -p 8080:80 freedoms1988/centos7-httpd2.4-sshd /usr/local/sbin/httpd.sh
解释:
  docker run【运行命令】 -d【后台进程参数】 -p 10022:22【端口映射:宿主机10022到docker22】 -p 8080:80 【端口映射:宿主机8080到docker80】freedoms1988/centos7-httpd2.4-sshd【镜像名称】 /usr/local/sbin/httpd.sh【运行镜像时运行脚本路径】

十四、测试httpd

操作:
  浏览器中输入localhost:8080
结果:
  看到it'work

十五、测试sshd

操作:
  ssh root@localhost -p 10022
结果:
  成功进入容器

十六、挂载宿主机项目目录到容器httpd服务目录

命令:
  docker run -d -p 10022:22 -p 8080:80 -v /Users/freedoms/work/Docker/httpd/www:/usr/local/apache2/htdocs freedoms1988/centos7-httpd2.4-sshd /usr/local/sbin/httpd.sh
解释:
  docker run【运行命令】 -d -p 10022:22【端口映射:宿主机10022到docker22】 -p 8080:80【端口映射:宿主机8080到docker80】 -v /Users/freedoms/work/Docker/httpd/www:/usr/local/apache2/htdocs 【目录映射:宿主机目录:docker目录】freedoms1988/centos7-httpd2.4-sshd 【镜像名称】 /usr/local/sbin/httpd.sh 【运行镜像时运行脚本路径】

十七、测试宿主机项目目录挂载有效性

操作:
  1、在宿主机项目目录中创建index.html文件,并输入任意内容
  2、在宿主机或容器内 curl localhost:8080
结果:
  应打印index.html文件内容

 

本文转载自:https://www.jianshu.com/p/ecf5cf9b541b

d
粉丝 5
博文 463
码字总数 14181
作品 0
西安
私信 提问
虚拟化容器docker实践基础

本文根据docker的镜像、容器、仓库、数据、网络五个方面详细讲述了docker的基础内容,通过本文学系后将能完成docker的基础操作,为以后dockerfile 使用打下技术基础。 docker核心概念--镜像、...

super李导
2017/05/09
0
0
Docker镜像、容器管理-笔记2

镜像操作 镜像(image)是Docker三大核心概念中最为重要的,自Docker诞生之日起“镜像”就是相关社区最为热门的关键词。 Docker运行容器前需要本地存在对应的镜像,如果镜像没保存在本地,D...

张晨chat
2018/08/19
0
0
【系列1】使用Dockerfile创建带Apache服务的Centos Docker镜像

这里将展示使用Dockerfile来创建带Apache服务的Docker镜像的具体过程。 准备工作: 首先,创建一个apachecentos工作目录,在其中 [root@docker1 ~]# mkdir apachecentos && cd apachecentos ...

Mr_sheng
2017/11/10
0
0
Docker Swarm集群部署应用

在Docker Swarm集群部署应用 我们过去使用docker run的命令创建容器, 把前面替换成docker service create就行了. 建议搭建一个registry,为所的docker主机提供镜像下载,否则你需要在每个doc...

duyuheng
2017/08/26
0
0
【自定义】通过Dockerfile创建httpd镜像

创建镜像三种方法 Docker镜像创建方法有三种,分别为基于已有镜像创建、基于本地模板创建以及基于Dockerfile创建。 通过Dockerfile创建镜像 这里主要记录下基于Dockerfile创建方法,Dockerf...

MaAiQiang
2018/08/16
0
0

没有更多内容

加载失败,请刷新页面

加载更多

arcgis arcpy 克里金插值 掩膜 配置符号系统 自动生成图片

整体思路,最后要加载到mxd文件中,然后导出图片 首先加载mxd文件 mxd = mapping.MapDocument(r"./11.mxd") 然后读取数据 并加载到图层中 sr = arcpy.SpatialReference(4326) # 读取csv...

可达鸭Go
57分钟前
4
0
漂亮有创意的思维导图模板分享

相信很多人使用在绘制思维导图时很喜欢使用模板进行编辑,它能够让你在短时间内快速创造出一个风格明显好看的思维导图,对绘制时间以及使用够感受影响都是较为深刻的,下面为大家分享几款漂亮...

干货趣分享
今天
4
0
使用js实现对cookie的增删改查

简单的操作cookie 存储cookie(key为test;value为testValue): document.cookie = "test=testValue"; 存储多个cookie: document.cookie = "test1=testValue1";document.cookie = "test2=te......

被毒打的程序猿_先瑞
今天
4
0
ApacheCN 公众号文章汇总 2019.9

ApacheCN 优质博文推荐计划正式启动 接受以下主题的博文: 人工智能(论文解读,比赛心得,面经,知识点讲解) 环材化生劝退 CS 留学申请,IT 外企求职 每日从所有投稿中精选两篇,在 Apache...

ApacheCN_飞龙
今天
5
0
Intellij Idea显示回退和前进按钮的方法

方法1:使用快捷键: 回到上一步 ctrl + alt + <-(左方向键) 回到下一步 ctrl + alt + ->(右方向键) 方法2:在界面显示: View -> 勾选ToolBar 方法3(推荐): (1)Preferences -> Ap...

孟飞阳
今天
8
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部