linux docker 使用centos镜像创建容器,内部搭建宝塔面板过程

  • Post author:
  • Post category:linux




宿主机指令,创建启动容器

docker run -itd --name bt-host \
-p 7080:80 \
-p 7022:22 \
-p 7021:21 \
-p 7443:443 \
-p 7888:8888 \
-p 7306:3306 \
-p 7379:6379 \
-p 7700-7720:7700-7720 \
--privileged centos:centos7.9.2009 /usr/sbin/init


--privileged

:大约在0.6版,privileged被引入docker。

使用该参数,container内的root拥有真正的root权限。

否则,container内的root只是外部的一个普通用户权限。

privileged启动的容器,可以看到很多host上的设备,并且可以执行mount。

甚至允许你在docker容器中启动docker容器。



进入容器执行初始化

#进入容器
-$ docker exec -it bt-host /bin/bash
#安装基础指令
-$ yum -y install sudo 
-$ yum -y install initscripts
#安装宝塔
-$ cd /home && mkdir bt && cd bt
-$ yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

#宝塔工具
-$ bt

修改宝塔账密为

http://xxx:7888/admin/

adm/xxx

打开控制面板安装以下应用 lnmp


nginx



mysql



pureftpd



php



phpmyadmin


宝塔面板 -》 安全 -》添加FTP被动端口范围

7700:7720

宝塔面板 -》 修改pureftpd被动连接模式配置,配置如下,:

ForcePassiveIP            xx.xx.xx.xx #宿主机ip地址
PassivePortRange          7700 7720   #自定端口范围,跟创建容器时要暴露的端口对应一致

重启pureftpd服务



phpmyadmin 配置nginx代理过程

宿主机nginx配置/usr/local/nginx/conf/vhost/www.sentgon.com.conf :

  location ^~ /bt-phpmyadmin/ {
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Host $server_name;
    proxy_pass http://localhost:7080;
 }


bt-host

nginx配置/www/server/panel/vhost/nginx/0.default.conf :

location /bt-phpmyadmin/ {
       proxy_pass http://localhost:888/;
       proxy_cookie_path / /bt-phpmyadmin/;
       proxy_redirect / https://$host/bt-phpmyadmin/;
}

#phpmyadmin 登录,

登录地址:https://xxx.com/bt-phpmyadmin/phpmyadmin_xxx/(具体登录地址打开小皮面板phpmyadmin应用查看)

账号密码:root / xxx (密码可以在宝塔面板->数据库>修改root密码)



打开宝塔面板创建测试站点 ,测试访问

FTP账号资料

用户:test_com

密码:123456

数据库账号资料

数据库名:test_com

用户:test_com

密码:123456

访问http://test.com 测试发现,404

此时需要配置由宿主机nginx把请求通过端口转向到当前容器内,请参考进一步的操作


https://blog.csdn.net/u014438244/article/details/120582184



安装一些基础的工具包

参考:https://blog.csdn.net/u013469753/article/details/107556249

1.虚拟机上传下载组件

支持从windows直接拖拽文件

yum -y install lrzsz  

使用:

rz+文件名(上传)
sz+文件名(下载)

2.gcc

nginx之类由c语言开发的,编译的时候需要用到

yum -y install gcc-c++ 

3.PCRE (Perl库,包括 perl 兼容的正则表达式库)

yum -y install pcre pcre-devel 

4.zlib

zlib库提供了很多种压缩和解压缩的方式

yum -y install zlib zlib-devel ruby

5.openssl

OpenSSL 是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议

yum -y install openssl openssl-devel patch

6.安装wget下载工具

yum -y install wget

7.自动补全命令

使用systemctl自动补全服务名称, 因为CentOS7的默认安装类型是最小安装,所以默认没有自动补全的功能。

yum install -y bash-completion

8.aapt兼容程序

centos 64位系统兼容32位运行程序aapt

yum install -y zlib.i686 libstdc++.i686

9.安装lsof

list open files是一个列出当前系统打开文件的工具

yum install lsof -y

10.zip unzip

yum install -y unzip zip

11.其他

yum install -y vim net-tools git



版权声明:本文为u014438244原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。