当前位置:首页 > CN2资讯 > 正文内容

docker 部署的网页如何修改 docker 部署网站

3天前CN2资讯


vps个人网站迁移的问题

4月份的时候,现在的 vps 提供商升级了硬件配置,为了充分使用vps的资源,我只好重装了操作系统。

本来计划今年把个人的vps主机从国外迁回来,所以为了方便后面的迁移,我把主机上的服务都部署到了 docker 创建的容器环境中,方便后面迁移。

使用了一段时间,运行比较稳定。


docker 简单介绍

Docker 是 PaaS 提供商 dotCloud 开源的一个基于 LXC 的高级容器引擎,可以把整个环境部署到里面,然后打包发放。这个打包包括了容器的操作系统环境,在另一台安装了docker的系统上可以导入镜像文件运行。

LXC 旨在提供一个共享kernel的 OS 级虚拟化方法,在执行时不用重复加载Kernel, 且container的kernel与host共享,因此可以大大加快container的 启动过程,并显著减少内存消耗。

docker容器中运行的进程性能接近本地应用程序。


docker 常用命令

  • docker pull: 从仓库中拖镜像
  • docker run:创建容器
  • docker stop:停止容器运行
  • docker start:开始容器运行
  • docker commit:提交容器到镜像
  • docker images: 查看当前有的镜像
  • docker ps:查看当前启动的容器

  • vps主机环境

  • vps: linode
  • 系统: Ubuntu 14.04 LTS
  • docker: Docker version 0.9.1(直接 apt-get 安装)
  • image 版本: Ubuntu 12.04 LTS
  • 需要注意安装 docker 的时候确认内核版本,要在 3.10 以上


    创建 docker 容器

    创建数据目录 /data

  • /data 目录中将用来存放容器中 mongdb,mysql,redis 等数据库文件,还有个人站点的文件。
  • 在 /data 中放置了容器启动后执行的脚本文件,这样可以启动容器内的服务。

  • 创建 /data/docker_config/ 脚本

    这个脚本是容器启动后运行的脚本,因为这个脚本是放在/data目录下,所以可以在宿主系统上修改, 这样就可以选择在启动容器的时候是运行shell,还是直接运行服务程序。

    脚本启动的服务:

  • supervisord 服务,容器内的服务(mysql,mongodb,redis)都是使用这个管理。
  • sshd服务,远程访问。
  • #!/usr/bin/env bash # 容器启动时启动服务程序 if [ -f /bin/bashno ]; then # 容器启动时启动 shell #if [ -f /bin/bash ]; then /bin/bash else cron /usr/sbin/munin-node --config /etc/munin/munin-node.conf supervisord /usr/sbin/sshd -D fi


    用下面的命令创建容器

    # 从 https:/// 下载镜像 pull ubuntu # 创建容器 run -d -m 3G -h 'mydocker' -p 80:80 -p 32000:22 -p 35000:35000 -p 37064:37064 \ -v /data:/data -w /data --name mydocker_c ubuntu /data/docker_config/
  • 上面是创建容器命令,映射容器的80,22,35000端口对外提供服务。
  • 把本地的目录 /data 挂载到容器中
  • 设置容器启动执行的脚本文件 /data/docker_config/

  • 查看当前容器

    ps -a


    配置容器

    第一次启动容器时,配置启动执行脚本启动从 shell 启动,这样执行命令 start mydocker_c 就可以启动到 shell,就可以安装需要的软件和服务了。

    安装sshd,supervisord,mongodb,mysql,redis等程序

    配置 supervisord 管理服务程序。

    配置 supervisord 管理 mongodb 服务, 创建文件 /etc/supervisor/conf.d/mongodb.conf,内容如下:

    [program:mongodb] autostart=true user=mongodb directory=/var/run/mongodb/ command=mongod run -f /etc/mongodb.conf --pidfilepath /var/run/mongodb/mongodb.pid

    用 supervisord 管理其他服务的方法与上面相同。

    # 启动服务 user@host: ~ $ supervisorctl start # 查看服务状态 user@host: ~ $ supervisorctl status mongodb RUNNING pid 14, uptime 5:50:47 mysql RUNNING pid 21, uptime 5:50:47 nginx RUNNING pid 16, uptime 5:50:47 redis RUNNING pid 15, uptime 5:50:47 sentry-web:sentry-web_00 RUNNING pid 19, uptime 5:50:47 sentry-web:sentry-web_01 RUNNING pid 20, uptime 5:50:47 sentry-web:sentry-web_02 RUNNING pid 17, uptime 5:50:47 sentry-web:sentry-web_03 RUNNING pid 18, uptime 5:50:47 webpy:00 RUNNING pid 32, uptime 5:50:47 webpy:01 RUNNING pid 33, uptime 5:50:47 webpy:02 RUNNING pid 25, uptime 5:50:47 webpy:03 RUNNING pid 27, uptime 5:50:47 webpy:04 RUNNING pid 41, uptime 5:50:47 webpy:05 RUNNING pid 42, uptime 5:50:47 webpy:06 RUNNING pid 35, uptime 5:50:47 webpy:07 RUNNING pid 36, uptime 5:50:47


    创建自己的镜像文件

    配置完成后进行下面操作:

  • 退出容器,用命令 stop mydocker_c 停止容器运行。
  • 修改容器启动脚本配置直接启动服务,然后重新启动容器( start mydocker_c),用 ssh 登录容器,看配置的服务是否都正常启动。
  • 确认一切正常后用命令停止容器运行。
  • 使用 commit 创建当前系统的镜像文件,以后就可以导出这个镜像文件来使用了。

  • 完成

    容器现在启动后,可以自动运行部署的服务。

    现在可以 push 镜像文件到远程的仓库( [ https:///   https:///] ),也可以导出使用。个人站点迁移的时候只要把镜像文件导出,并且把 /data 目录打包重新在新的机器上导入镜像文件,解压 /data 目录即可使用(mysql 数据库可能需要用脚本导出再导入,要根据自己的配置来调整,mongodb服务器的数据文件可以直接使用)



      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/19326.html

      分享给朋友:

      “docker 部署的网页如何修改 docker 部署网站” 的相关文章

      探索日本V文化:从排球V联赛到Vtuber的多元化发展

      在谈到日本的多元化时,首先无法忽视的是“日本 v”这个词汇所涵盖的多个领域。它不仅代表了排球运动的一个新平台,也象征着现代金融科技,以及独特的二次元文化。这些领域虽然各自独立,但它们共同描绘出日本社会在多个层面上的文化与技术的融合。 1.1 日本排球V联赛 自2018年启幕以来,日本排球V联赛(V....

      探索VPS论坛:获取信息与技术交流的最佳平台

      在当今的数字时代,VPS(虚拟专用服务器)论坛扮演着一个重要的角色。作为技术爱好者和学习者交流的平台,这些论坛不仅提供了丰富的信息资源,还促成了用户之间的互动。我最喜欢的就是能在这样的社区中找到志同道合的朋友,讨论各种技术问题和经验。 VPS论坛的定义和特点非常明确。它们通常是一个集中讨论虚拟专用服...

      使用newcom598优惠码注册域名,享受超值价格

      什么是newcom598优惠码? 我想和大家分享一个超值的优惠信息,那就是newcom598优惠码。这是一个专为Namecheap的新用户设计的优惠码,意在帮助刚开始建立自己在线业务的人以超优惠的价格注册.COM域名。通过这个优惠码,新用户可以以仅$5.98的价格获得首年的.COM域名,这样算下来在...

      VPSCheap评测:低价VPS服务的最佳选择与性能分析

      VPSCheap的概述 我第一次听说VPSCheap的时候,是在一个热闹的VPS论坛上。这个成立于2010年的主机商,主要提供KVM型VPS服务,其特点是低价格和无限流量。从那以后,我对VPSCheap的关注逐渐加深。它的数据中心位于美国达拉斯,给不少用户带来了良好的使用体验。论坛上的用户在讨论各自...

      Virmach Coupons: 轻松获取超值优惠,优化你的VPS选择

      Virmach成立于2014年,作为一家美国VPS服务商,在业内享有良好的声誉。它的总部位于加利福尼亚州洛杉矶,正是这样得天独厚的地理位置让它能迅速成长并服务全球用户。到现在为止,Virmach已经发展成为一家提供各种配置和价格方案的服务商,特别以低价VPS而闻名,吸引了大量希望降低运营成本的个人和...

      深入了解服务器的基本概念、分类、性能评估与优化策略

      1. 服务器的基本概念与功能 在现代计算环境中,服务器的角色不可或缺。我将服务器看作是一种高性能计算机,专门为客户机提供服务。它们是构建云计算和数据中心的核心设备。通过提供各种服务,如文件存储、数据处理和应用托管,服务器帮助企业高效运营,满足日益增长的技术需求。 服务器的特点非常明显,具有高性能、高...