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
此期間無法訪問
關於Docker
下Centos
安裝寶塔,容器重啟寶塔不啟動的解決辦法:
在該容器(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