思路:阿里云购买服务器选择centos7宝塔系统做宿主机,登录宝塔安装Docker管理器,获取一个centos7镜像,创建容器在里面再安装个宝塔后部署PHP、Python等。

点击购买阿里云云服务器,建议买香港可以免备案,系统镜像选择CentOS7或者用自己现有服务器

备注:去掉宝塔绑定账号,ssh登录服务器输入
rm -f /www/server/panel/data/bind.pl

一、登录宝塔->软件商店安装Docker管理器

二、打开Docker管理器,输入centos:7获取镜像

三、创建容器,按图输入

容器端口

映射到(服务器)

说明

22

222

SSH服务

8888

8881

面板服务

80

81

HTTP服务

443

4433

HTTPS

3306

33060

Mysql

20

200

 

21

211

 

网站目录映射:/www/wwwroot

四、修改容器名字为cen_bt 点击终端,进入容器

五、在容器里安装宝塔面板,中间需要按y确认

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

安装完成把信息保存起来

第三步容器端口写8881需要修改宝塔面板端口为8881

echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart

但是这样重启会丢失配置文件,解决方法一:

在宿主机单次启动
docker start cen_bt && docker exec cen_bt /bin/sh -c "echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart" 最终解决方案:设置宿主机开机启动
cd /etc/profile.d/
vi hosts.sh
输入以下命令,保存退出
docker start cen_bt && docker exec cen_bt /bin/sh -c "echo '8881' > /www/server/panel/data/port.pl && /etc/init.d/bt restart"

或第二个方法:改完端口后生成新的镜像

六、输入ip:8881登录面板,就可以自由配置环境了

注意,要在阿里云服务器安全组配置规则里打开上面端口

七、部署网站

在docker容器中的宝塔面板 新建站点。需同时到宿主机的宝塔中新建相同网站,并建立反向代理。

网站源码只放入docker容器中的宝塔面板中即可

在宿主机的宝塔 ,新建站点后点击设置,需将宿主机的81端口指向docker容器中的80端口

访问网址即可成功

八、实际要用的话改完容器里所有配置后生成一份新的镜像

常见问题:

问:通过docker部署宝塔面板镜像后,如何访问面板?
答:如果你创建docker时,将8888映射到了8881,那么通过(http://服务器IP:8881)访问!
         访问docker创建的面板,需要在新的浏览器打开,否则会自动退出。
 
问:通过docker部署宝塔面板镜像后,如何通过SSH管理容器?
答:如果你创建docker时,将22映射到了222,那么直接使用ssh工具,通过222端口连接容器
 
问:我创建容器时明明将8888端口映射到了8881端口,为什么无法访问?
答:请检查面板防火墙是否放行8881,如果有安全组,还需要在安全组放行8881

Docker使用:利用宝塔面板Docker管理器快速搭建PHP、Java、Python、nodejs等配套运行环境的更多相关文章

  1. docker中安装宝塔面板

    我的电脑是win10,安装的virtualbox其上装的ubutun14,ubutun也安装了docker,今天我补充一个完整的操作流程.怎么在docker中安装宝塔面板?先打个岔,这些命令总是记不住 ...

  2. Expression Blend实例中文教程(11) - 视觉管理器快速入门Visual State Manager(VSM)

    Expression Blend实例中文教程(11) - 视觉管理器快速入门Visual State Manager(V 时间:2010-04-12 16:06来源:SilverlightChina. ...

  3. docker中安装宝塔面板教程

    本人电脑是win10,安装的virtualbox,装的centos7.2,在centos7.2装了docker,这个比较简单,网上一大堆教程,今天说一下装好了docker之后怎么在docker中安装面 ...

  4. Linux下docker中安装宝塔面板教程

    本人云服务器,装的cent os7.6,在cent os7.6已装了docker,没装的可以借鉴 https://www.cnblogs.com/xiaoyige/p/12673076.html 1. ...

  5. 利用宝塔面板搭建 Laravel 5.5 环境

    1.更新系统 yum install epel-release #rpm -Uvh https://dl.fedoraproject.org/pub/epel/epel-release-latest- ...

  6. Expression Blend实例中文教程(11) - 视觉管理器快速入门Visual State Manager(VSM)

    Visual State Manager,中文又称视觉状态管理器(简称为VSM),是Silverlight 2中引进的一个概念.通过使用VSM,开发人员和设计人员可以轻松的改变项目控件的视觉效果,在项 ...

  7. 利用位运算进行a+b的计算(Java&&Python)

    题目链接 需要用到的位运算操作:异或(^).与(&).右移(<<) 异或运算:又称不进位加法,a^b得到的结果为a与b相加,但是需要进位的地方不进位得到的结果 与运算:找出来a和b ...

  8. 如何利用pyenv 和virtualenv 在单机上搭建多版本python 虚拟开发环境

    pyenv 和virtualenv分别是干什么的? pyenv帮助你在一台机上建立多个版本的python环境, 并提供方便的切换方法. virtualenv则就是将一个目录建立为一个虚拟的python ...

  9. 宝塔面板 + Rancher + 阿里云镜像仓库 + Docker + Kubernetes,添加集群、部署 web 应用

    目录 一,安装宝塔面板(V 6.8) 二,使用宝塔安装 Docker,配置阿里云容器服务 三,安装 Rancher (Server) 四,管理 Rancher.添加集群 五,添加 Rancher 应用 ...

  10. 5、Java Swing布局管理器(FlowLayout、BorderLayout、CardLayout、BoxLayout、GirdBagLayout 和 GirdLayout)

    5.Java-Swing常用布局管理器       应用布局管理器都属于相对布局,各组件位置可随界面大小而相应改变,不变的只是其相对位置,布局管理器比较难以控制,一般只在界面大小需要改是才用,但即使这 ...

随机推荐

  1. jenkins + sonar 实现代码检测的配置

    一.首先安装sonar scanner的客户端 我的jenkins版本为2.176.2 安装sonar需要安装客户端和服务端,这里只讲述客户端的相关配置.安装步骤省略 二.然后配置sonar scan ...

  2. HttpUtils 详解

    一.详解 1.1 介绍 现如今的 Web 项目,由服务端向外发起网络请求的场景,基本上随处可见! 传统情况下,在服务端代码里访问 http 服务时,一般会使用 JDK 的 HttpURLConnect ...

  3. KubeSphere 社区双周报 | OpenFunction 支持 Dapr 状态管理 | 2023.03.31-04.13

    KubeSphere 社区双周报主要整理展示新增的贡献者名单和证书.新增的讲师证书以及两周内提交过 commit 的贡献者,并对近期重要的 PR 进行解析,同时还包含了线上/线下活动和布道推广等一系列 ...

  4. docker实战: vue+java+uniapp部署到阿里云服务器详解(此文没有使用宝塔面板部署),附带各种坑处理

    一.部署前准备工具以及注意事项: 项目来源:https://gitee.com/ZhongBangKeJi/crmeb_java?_from=gitee_search 官方部署文档:https://d ...

  5. SpringBoot开启Gzip接口报文压缩

    背景 当我们一个接口响应报文比较大的时候,超过几兆甚至几十兆的情况下,减少响应体的报文大小是能有效减少响应时间的. spring boot 配置 server: compression: ## 开启服 ...

  6. vue 强制刷新

    页面传的数值动态改变,接口接受的参数也就动态更改,但接收的数据有时候不会及时改变,通过this.$forceUpdate()页面强制刷新来解决这个问题.

  7. 深度学习入门笔记——DataLoader的使用

    如何使用数据集DataSet? 在介绍DataLoader之前,需要先了解数据集DataSet的使用.Pytorch中集成了很多已经处理好的数据集,在pytorch的torchvision.torch ...

  8. 如何看待:以色列在真主党订购的5000台寻呼机中放了TNT

    日常生活等关键物品的生产必须要有国内完全掌握,美国.日本.以色列等国惯用的这种暗杀方法.如果不能在本国国内做到自主可控的产品生产,那么无疑是把自己的脑袋交给敌人来保护,随时都有丢命的可能. 同时,这也 ...

  9. games101_Homework3

    在Raster部分实现数值插值,然后实现四种不同的像素着色器 作业描述: 作业1:修改函数 rasterize_triangle(const Triangle& t) in rasterize ...

  10. ChatGPT:编程的 “蜜糖” 还是 “砒霜”?告别依赖,拥抱自主编程的秘籍在此!

    在当今编程界,ChatGPT 就像一颗耀眼却又颇具争议的新星,它对编程有着不可忽视的影响.但这影响就像一把双刃剑,使用不当,就可能让我们在编程之路上"受伤". 一.过度依赖 Cha ...