设为首页 收藏本站
查看: 1018|回复: 0

[经验分享] Docker搭建独立服务器

[复制链接]

尚未签到

发表于 2017-12-5 18:32:33 | 显示全部楼层 |阅读模式
  用Docker尝试搭建了一个Apache2服务器,整体安装很简单,但是从容器中退出后,Apache2服务器也就随之停止,网上有很多说可以通过docker run 加上-d参数可以使得服务器跑在后台,但是我试了以后,发现-d启动起来的容器的状态是exit,而且用docker start也无法改变状态,不知道是我操作有误,还是其他的原因,如果其他朋友有更好的解决方法,欢迎留言交流。
  经过一番摸索,使用了如下方法,终于 得以解决。
  因为是学习之用,故从最开始配置docker开始记录,大神请忽略这部分。
  1、首先是安装docker,Linux下很简单,apt-get就可以了
  2、然后是下载响应的镜像,我这里下载了ubuntu:14.04/ubuntu:16.06:



docker pull ubuntu:14.04
docker pull ubuntu:16.04
DSC0000.png

  3、启动一个容器,安装我们需要的服务器环境(apache\php\vim……,根据自己服务器需要即可)



docker run -it ubuntu:14.04 /bin/bash
DSC0001.png

  可以看到,我们已经进入到我们的docker容器中来了,接下来就是按照正常的程序安装我们需要的软件即可
  安装方法有很多,Debian系的apt-get install;红帽系的:yum install;这里不再赘述
  4、安装完成后,我们需要保留下我们已经安装好的容器,以备后用
  这一步有两种方式
  (1)如果只是一台服务器自己用,可以直接用:docker commit来构建



docker commit -m "Apache2 Server" -a "toor" 7dd7ef463447(CONTAINER ID) server/ubuntu-t:14.04
DSC0002.png

  这里解释下参数:-m 容器的注释,一般告诉我们这个容器是用来干什么的
  -a  表示容器的维护者,一般是容器创建者
  后面的那串数字是你的容器号 DSC0003.png ,就是图中红色方框标识出来的字符串
  再后面的server/ubuntu-t是你给这个容器起的别名,冒号后面是你给容器标记的版本号。这部分是为了唯一标识这个容器
  接下来我们就可以通过命令:“docker images” 看到自己创建好的容器了,如下图红色标识的位置所示
DSC0004.png

  (2)如果我们需要把做好的容器与他人分享,这就需要通过docker build方式来制作,这里以我们刚才制作的server/ubuntu-t为例,方式如下:
  首先新建一个目录:apache-server



mkdir apache-server
  然后在apache-server文件夹下创建一个Dockerfile文本文件,并向其中写入基本的控制语句:



FROM server/ubuntu-t:14.04 #指定使用哪一个镜像
MAINTAINER toor      #指定镜像维护者
  进入apache-server文件夹,执行下列语句



docker build -t="server/ubuntu-t1:14.04" .
  说明一下参数:-t参数指定新的tag名称,即唯一确定镜像的连个标识符
DSC0005.png

  我们可以看到新的镜像id,docker images也可以看到新的镜像,如下。
DSC0006.png

  5、接下来就是如何解决我们让含有Apache的服务器能正常后台工作的步骤了
  (1)通过docker run来启动docker



docker run -it -p 8080:80 server/ubuntu:14.04 /bin/bash
  (2)正常启动容器,进入到容器的shell后,开启apache2服务



/etc/init.d/apache2 start
DSC0007.png

  (3)服务启动后,按下ctrl+d退出容器
DSC0008.png

  (4)我们看到,此时容器的状态是exited,我们启动这个容器



docker start c74fdcdfe7da(CONTAINER ID)
DSC0009.png

  (5)容器启动起来后,进入容器重新开启apache2服务,然后ctrl+d退出容器
DSC00010.png

  我们看到这次容器的状态依旧是UP的。测试相应的端口转发也是正常的,这样我们就可以通过docker对外安全的提供服务了。
  (6)如果要停止相应的容器,执行相应的停止命令即可:



docker stop c74fdcdfe7da(CONTAINER ID)
DSC00011.png

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-420915-1-1.html 上篇帖子: 限制容器对CPU的使用 下篇帖子: Docker容器进入的4种方式
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表