Docker 中安装宝塔面板

Docker 中安装宝塔面板

列出所以容器id

[root@VM-20-10-centos ~]# docker ps -aq

停止所有的容器

[root@VM-20-10-centos ~]# docker stop $(docker ps -aq)

删除所有的容器

[root@VM-20-10-centos ~]# docker rm $(docker ps -aq)

删除所有的镜像

[root@VM-20-10-centos ~]# docker rmi $(docker images -q)
  • docker image prune --force --all或者docker image prune -f -a : 删除所有不使用的镜像
  • docker container prune: 删除所有停止的容器

拉一个centos7.*镜像

[root@VM-20-10-centos ~]# docker pull centos:centos7

创建一个命名为baota(名称自定义) 在后台运行,将宿主机的20,21,80,443,888,8888这五个端口映射到docker容器中去,并将宿主机的/home/www文件夹映射到docker容器的/www上去(注意:文件目录如果不存在。宿主机和容器会自己创建,无需手动创建)privileged表示在运行容器的时候,给容器加特权,设置容器有写文件的权限。

[root@VM-20-10-centos ~]# docker run -i -t -d --name baota -p 20:20 -p 21:21 -p 80:80 -p 443:443 -p 888:888 -p 8888:8888 --privileged=true -v /home/www:/www centos:centos7
c377532f7ba88310b3f9024b32455889dd1787dab32d994ce44aae04044a308b

查看此时启动的容器,使用docker ps 查看

[root@VM-20-10-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND       CREATED        STATUS        PORTS                                                                                                                                                                                                       NAMES
44a4d6fc7d46   centos    "/bin/bash"   11 hours ago   Up 15 hours   0.0.0.0:20-21->20-21/tcp, :::20-21->20-21/tcp, 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:888->888/tcp, :::888->888/tcp, 0.0.0.0:8888->8888/tcp, :::8888->8888/tcp   baota

进入容器,docker exec -it

[root@VM-20-10-centos ~]# docker exec  -it 44a4d6fc7d46 /bin/bash
[root@44a4d6fc7d46 /]# 
  • docker exec -it 44a4d6fc7d46 /bin/bash(这里也可以直接用 bash)或者下面都行
  • docker exec -it baota /bin/bash

执行宝塔面板Centos安装命令

[root@44a4d6fc7d46 /]# yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

=====>宝塔

期间会有一个安装确认,输入y即可

Do you want to install Bt-Panel to the /www directory now?(y/n): y
==================================================================
Congratulations! Installed successfully!
==================================================================
外网面板地址: http://xxxx.xxxx.xxx.xxx:8888/5f9de06a
内网面板地址: http://:8888/5f9de06a
username: sjjadoav
password: 26d3c413
If you cannot access the panel,
release the following panel port [8888] in the security group
若无法访问面板,请检查防火墙/安全组是否有放行面板[8888]端口
==================================================================
Time consumed: 1 Minute!
[root@44a4d6fc7d46 /]# 

退出容器并重启Docker测试,查看宝塔是否可正常运行

[root@44a4d6fc7d46 /]# exit
exit
[root@VM-20-10-centos ~]# service docker restart
Redirecting to /bin/systemctl restart docker.service

查看运行的容器

[root@VM-20-10-centos ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

启动baota容器

[root@VM-20-10-centos ~]# docker start baota
baota
[root@VM-20-10-centos ~]# docker ps
CONTAINER ID   IMAGE            COMMAND       CREATED          STATUS              PORTS                                                                                                              NAMES
44a4d6fc7d46   centos:centos7   "/bin/bash"   41 minutes ago   Up About a minute   0.0.0.0:20-21->20-21/tcp, 0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:888->888/tcp, 0.0.0.0:8888->8888/tcp   baota

此期间无法访问

关于DockerCentos安装宝塔,容器重启宝塔不启动的解决办法:
在该容器(baota)目录"/etc/profile.d"下新建一个.sh文件,名称随意
建议.sh文件写成这样:

#!/bin/bash
initDir="/etc/init.d/"
for file in `ls $initDir` 
do
 if [ x"$file" != x"README" ];then
   if [ -f "$initDir/$file" ];then
     $initDir/$file start
   fi
 fi
done

Linux 新建空白文件命令: touch

[root@VM-20-10-centos ~]# docker exec -it baota /bin/bash
[root@44a4d6fc7d46 /]# ls
anaconda-post.log  bin  dev  etc  home  install.sh  lib  lib64  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var  www
[root@44a4d6fc7d46 /]# cd /etc/profile.d
[root@44a4d6fc7d46 profile.d]# touch baota.sh
[root@44a4d6fc7d46 profile.d]# vi baota.sh

baota.sh文件保存好 restart容器

[root@VM-20-10-centos ~]# docker restart baota
baota

刷新浏览器,系统正常

特别注意:为了能够保存(持久化)数据以及共享容器间的数据,docker一定使用-v挂载主机目录到容器,比如上面启动容器的 docker -v 参数。
补充:宝塔默认密码使用 : bt default 查看,登录进去修改即可。如果上面安装的不是最新宝塔,可以再容器里面执行下面命令升级到最新:

curl http://download.bt.cn/install/update_to_6.sh|bash

=====>参考1
=====>参考2

posted @   EmptyJar  阅读(2143)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示