前言 前两天看到华为云有个服务器优惠活动,50块就可以买一个1核2G的服务器。我阿里云的服务器是2核2G的,折腾到现在,配置已经有点不够用了,趁着这次活动就买了一个华为云的服务器。
一年前自己还是个小萌新,阿里云的宝塔面板还是用的公共镜像帮装好的。随着技术的成长,在Linux上直接安装的宝塔面板让我觉得软件环境有点乱,在做博客项目升级的时候渐渐接触到docker,宝塔对主机控制度较高,依赖关系复杂,而 Docker 可以保证宝塔服务不影响到宿主机其他服务。认识到docker的方便之后,这个新的服务器自然得先装docker再装宝塔啦。
安装docker 系统要求 官网提示如果要安装 Docker Engine,您需要一个 CentOS 7 以及以上的稳定版本。
查看centos系统内核版本
1 2 [root@ecs-21523 ~]# uname -a Linux ecs-21523 3.10.0-1160.53.1.el7.x86_64 #1 SMP Fri Jan 14 13:59:45 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux
先确定是否 Centos 7及以上的版本
1 2 [root@ecs-21523 ~]# cat /etc/redhat-release CentOS Linux release 7.9.2009 (Core)
卸载旧版本 有比较旧的版本可以先卸载。较旧的 Docker 版本为 docker 或 docker-engine。 如果已安装这些程序,请卸载它们以及相关的依赖项。
1 2 3 4 5 6 7 8 sudo yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
检查是否能够上外网 1 2 3 4 5 6 [root@ecs-21523 ~]# ping lotlyz.cn PING lotlyz.cn (120.79.182.135) 56(84) bytes of data. 64 bytes from 120.79.182.135 (120.79.182.135): icmp_seq=1 ttl=48 time=10.1 ms 64 bytes from 120.79.182.135 (120.79.182.135): icmp_seq=2 ttl=48 time=9.96 ms 64 bytes from 120.79.182.135 (120.79.182.135): icmp_seq=3 ttl=48 time=10.0 ms 64 bytes from 120.79.182.135 (120.79.182.135): icmp_seq=4 ttl=48 time=9.99 ms
安装软件组 安装所需的基础软件
1 2 3 4 5 6 [root@ecs-21523 ~]# yum -y install tree nmap sysstat lrzsz dos2unix telnet bash-completion bash-completion-extras vim lsof net-tools rsync ntpdate nfs-utils wget [root@ecs-21523 ~]# curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 2523 100 2523 0 0 10180 0 --:--:-- --:--:-- --:--:-- 10173
设置yum源 安装 yum-utils 软件包(提供了 yum-config-manager 程序)并设置稳定的 yum 源方便下载 Docker Engine。
备份yum源
1 2 [root@ecs-21523 ~]# mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/1 2 3 4 5 6 7 8 9 10 11 12 [root@ecs-21523 ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo --2022-05-24 22:32:18-- https://mirrors.aliyun.com/repo/Centos-7.repo Resolving mirrors.aliyun.com (mirrors.aliyun.com)... 202.100.222.209, 124.225.134.248, 124.225.134.240, ... Connecting to mirrors.aliyun.com (mirrors.aliyun.com)|202.100.222.209|:443... connected. HTTP request sent, awaiting response... 200 OK Length: 2523 (2.5K) [application/octet-stream] Saving to: ‘/etc/yum.repos.d/CentOS-Base.repo’ 100%[===========================================================================================>] 2,523 --.-K/s in 0s 2022-05-24 22:32:18 (605 MB/s) - ‘/etc/yum.repos.d/CentOS-Base.repo’ saved [2523/2523]
3.添加Docker Engine软件源信息
1 2 3 4 # 安装 yum-utils sudo yum install -y yum-utils # 设置 yum 源为阿里云方便下载 Docker Engine sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum 安装 gcc 相关 1 [root@ecs-21523 ~]# yum -y install gcc gcc-c++
刷新 yum 源缓存 1 [root@ecs-21523 ~]# yum makecache
为了方便我们可以更新一下系统 1 2 [root@ecs-21523 ~]# yum update [root@ecs-21523 ~]# yum update -y --exclud=kernel*
安装需要的软件包 1 sudo yum install -y yum-utils device-mapper-persistent-data lvm2
更新 yum 软件包索引
安装 Docker-ce 1 yum -y install docker-ce
注意: 官方软件源默认启用了最新的软件,可以通过编辑软件源的方式获取各个版本的软件包。
安装完毕后启动 1 2 [root@ecs-21523 ~]# sudo service docker start Redirecting to /bin/systemctl start docker.service
设置为开机自启动 1 2 3 4 5 6 [root@ecs-21523 ~]# systemctl enable --now docker Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service. # 检查是否为开机自启 [root@ecs-21523 ~]# systemctl is-enabled docker enabled
安装校验 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 [root@ecs-21523 ~]# docker -v Docker version 19.03.14, build 5eb3275d40 [root@ecs-21523 ~]# docker version Client: Docker Engine - Community Version: 20.10.16 API version: 1.41 Go version: go1.17.10 Git commit: aa7e414 Built: Thu May 12 09:19:45 2022 OS/Arch: linux/amd64 Context: default Experimental: true Server: Docker Engine - Community Engine: Version: 20.10.16 API version: 1.41 (minimum version 1.12) Go version: go1.17.10 Git commit: f756502 Built: Thu May 12 09:18:08 2022 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.6.4 GitCommit: 212e8b6fa2f44b9c21b2798135fc6fb7c53efc16 runc: Version: 1.1.1 GitCommit: v1.1.1-0-g52de29d docker-init: Version: 0.19.0 GitCommit: de40ad0
附:常用docker命令 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 # 启动 docker sudo systemctl start docker # 停止 docker sudo systemctl stop docker # 重启 docker sudo systemctl restart docker # 设置开机启动 sudo systemctl enable docker # 查看 docker 状态 sudo systemctl status docker # 查看 docker 内容器的运行状态 sudo docker stats # 查看 docker 概要信息 sudo docker info # 查看 docker 帮助文档 sudo docker --help # 卸载docker yum -y remove docker-ce # 强制卸载docker rm -rf /var/lib/docker docker pull xx //下载镜像 docker rmi xx //删除镜像 docker run xx //运行容器 docker exec -it xx /bin/bash //进入容器 docker rm xx //删除容器 docker stop xx //停止容器 docker restart xx //重启容器 docker rename 原名 改后名 //更改容器别名
安装宝塔镜像 1 docker run -tid --name baota --net=host --privileged=true --shm-size=1g --restart always -v baota_www:/www -v ~/wwwroot:/www/wwwroot pch18/baota
提示
/www/wwwroot 挂载在宿主机的 ~/wwwroot 目录
/www 挂载在 baota_www volume,即 /var/lib/docker/volumes/baota_www/
登录方式 登陆地址:http://:8888
初始账号:username
初始密码:password
注意:安装成功后需要修改登录用户和密码才能正常访问
宝塔面板命令行 进入容器:1 docker exec -it baota bash
命令行输入bt 可对宝塔面板进行交互式操作:1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 [root@ecs-21523 wwwroot]# bt ===============宝塔面板命令行================== (1) 重启面板服务 (8) 改面板端口 (2) 停止面板服务 (9) 清除面板缓存 (3) 启动面板服务 (10) 清除登录限制 (4) 重载面板服务 (5) 修改面板密码 (12) 取消域名绑定限制 (6) 修改面板用户名 (13) 取消IP访问限制 (7) 强制修改MySQL密码 (14) 查看面板默认信息 (22) 显示面板错误日志 (15) 清理系统垃圾 (23) 关闭BasicAuth认证 (16) 修复面板(检查错误并更新面板文件到最新版) (24) 关闭动态口令认证 (17) 设置日志切割是否压缩 (25) 设置是否保存文件历史副本 (18) 设置是否自动备份面板 (0) 取消 (29) 取消访问设备验证 =============================================== 请输入命令编号:
提示:
安装完宝塔面板忘记保存面板ip地址的话,可以bt执行第14条命令,看到Bt-Panel-URL属性,这个就是登录宝塔面板的地址
登录面板后,请立即修改面板用户和面板密码,并建议修改面板端口和安全入口。
更新的话,可以使用面板提供的更新功能。