Docker容器安装宝塔面板并设置端口映射表

阿里云服务器

随着Docker技术的日益成熟,越来越多的开发者开始使用Docker来部署和管理他们的应用程序。本文将介绍如何在Docker容器中安装宝塔面板,并设置端口映射表。

安装Docker

首先,你需要安装Docker。根据你使用的操作系统,可以参考官方文档进行安装。这里我们以Ubuntu为例,使用以下命令安装Docker:

sqlsudo apt-get update

sudo apt-get install docker.io


运行Docker容器


使用以下命令创建一个新的Docker容器:

yamlsudo docker run -it -d --name=bt-panel -p 8888:8888 -p 888:888 -p 80:80 -p 20:20 -p 21:21 -p 3306:3306 -p 11371:11371 -p 11372:11372 -p 11373:11373 -p 11374:11374 -p 11375:11375 -p 11376:11376 -p 11377:11377 -p 11378:11378 -p 11379:11379 registry. Mirror. Microsoft/mssql-tools-linux-ugenthusiast-5.6.5-46.v20200408_0.tar.gz


这个命令会创建一个新的Docker容器,并将容器的端口映射到主机的相应端口。注意,这里我们使用了多个端口映射,包括常见的Web、FTP、MySQL等端口。

其中,-p参数用于设置端口映射,格式为主机端口:容器端口。例如,-p 8888:8888表示将主机的8888端口映射到容器的8888端口。

镜像使用了Microsoft提供的MSSQL工具,你可以根据需要替换为其他镜像。


进入Docker容器


使用以下命令进入Docker容器:

bashsudo docker exec -it bt-panel bash


安装宝塔面板

在容器内部,使用以下命令安装宝塔面板:

bashbash /etc/init.d/bt_install.sh


这将自动下载并安装宝塔面板。安装完成后,你可以使用浏览器访问主机的相应端口(例如访问http://localhost:8888),输入宝塔面板的用户名和密码进行登录。


设置端口映射表


在主机上,打开Docker的配置文件(通常位于/etc/docker/daemon.json),添加以下内容:

json{

  "port-forward": [

    {

      "port": "8888",

      "protocol": "tcp",

      "target": "8888",

      "timeout": 300,

      "ipv6": false,

      "idle-timeout": 0,

      "enable-ssl": false,

      "enable-ntp": false,

      "auth-mode": "basic"

    },

    {

      "port": "80",

      "protocol": "tcp",

      "target": "80",

      "timeout": 300,

      "ipv6": false,

      "idle-timeout": 0,

      "enable-ssl": false,

      "enable-ntp": false,

      "auth-mode": "basic"

    },

    {

      "port": "20",

      "protocol": "tcp",

      "target": "20",

      "timeout": 300,

      "ipv6": false,

      "idle-timeout": 0,

      "enable-ssl": false,

      "enable-ntp": false,

      "auth-mode": "basic"

    },

    {

      "port": "21",

      "protocol": "tcp",

      "target": "21",

      "timeout": 300,

      "ipv6": false,

      "idle-timeout": 0,

      "enable-ssl": false,

      "enable-ntp": false,

      "auth-mode": "basic"