一、准备工作
准备条件:服务器操作系统 Ubuntu 22.04 64 位 UEFI 版 / Ubuntu 24.04 64 位。
使用工具:SSH 客户端(如 FinalShell)。
Docker 基本使用指令:
- 停止容器:
docker stop <container_name> - 启动容器:
docker start <container_name> - 重启容器:
docker restart <container_name> - 删除容器(需先停止):
docker rm <container_name> - 查看所有容器:
docker ps -a
注:示例中的容器名称仅为示意,可替换为实际容器名称或 ID。
二、安装 Docker
(一)安装 Docker
- 打开 SSH 工具,连接服务器 IP。

- 卸载旧版本(若未安装可跳过)
sudo apt-get remove docker docker-engine docker.io containerd runc
- 更新 apt 包索引
sudo apt-get update

- 安装 apt 依赖包
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
gnupg-agent \
software-properties-common
输入 Y 确认。

如有其他包更新提示,执行:
sudo apt-get upgrade
- 添加 Docker 官方 GPG 密钥
curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

- 设置稳定版仓库
echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.asc] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/ $(. /etc/os-release && echo "$VERSION_CODENAME") stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

- 安装 Docker Engine-Community
sudo apt-get update

- 创建自定义 Docker 安装目录
sudo mkdir -p /usr/local/docker

- 安装 Docker Engine-Community 到自定义路径
注意:Docker 默认安装路径在 /var/lib/docker,安装后需迁移数据。
sudo apt-get install -y docker-ce docker-ce-cli containerd.io
按提示输入 Y 或回车确认。

- 停止 Docker 服务
sudo systemctl stop docker

- 备份原有 Docker 数据(如果存在)
if [ -d "/var/lib/docker" ]; then sudo cp -r /var/lib/docker /var/lib/docker.backup; fi

- 创建符号链接,将 Docker 数据目录指向自定义路径
sudo ln -sf /usr/local/docker /var/lib/docker

(二)镜像设置
确保 Docker 已安装成功。
- 启动 Docker 服务
sudo systemctl start docker
- 查看 Docker 版本
sudo docker version

- 进入 Docker 配置目录
cd /etc/docker
sudo mkdir -p /etc/docker

- 创建 daemon.json 配置文件
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://hub.rat.dev"
],
"data-root": "/usr/local/docker"
}
命令:
sudo tee /etc/docker/daemon.json > /dev/null <<EOF
{
"registry-mirrors": [
"https://docker.1panel.live",
"https://hub.rat.dev"
],
"data-root": "/usr/local/docker"
}
EOF

- 重新加载配置并重启 Docker
sudo systemctl daemon-reload
sudo systemctl restart docker

- 验证安装和配置
sudo docker info | grep "Docker Root Dir"

- 拉取 hello-world 镜像
sudo docker pull hello-world

- 运行镜像
sudo docker run hello-world

三、安装 JDK 17
- 准备工作
在 /usr/local 路径下创建 java 文件夹,上传 JDK 压缩包 jdk-17.0.12_linux-x64_bin.tar.gz。

- 解压 JDK
tar -zxvf jdk-17.0.12_linux-x64_bin.tar.gz

- 配置环境变量
编辑配置文件:
vim /etc/profile
按 i 进入插入模式,添加以下内容至末尾:
export JAVA_HOME=/usr/local/java/jdk-17.0.12
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib:$CLASSPATH
export JAVA_PATH=${JAVA_HOME}/bin:${JRE_HOME}/bin
export PATH=$PATH:${JAVA_PATH}

保存退出(按 Esc,输入 :wq!):

- 使配置生效
source /etc/profile

- 检查是否安装成功
java -version

四、Docker 中安装 MySQL
- 检查 Docker 运行状态
sudo systemctl status docker

- 创建数据持久化存储目录
sudo mkdir -p /usr/local/mysql/data
sudo chmod -R 777 /usr/local/mysql/data
cd /usr/local/mysql

- 拉取 MySQL 8.4.5 镜像
docker pull mysql:8.4.5


- 创建 MySQL 容器
sudo docker run -d \
--name mysql_8.4.5 \
-p 3306:3306 \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/mysql/data:/var/lib/mysql \
mysql:8.4.5
参数说明:
--name:容器名称-p:端口映射-e:环境变量(root 密码)-v:数据卷挂载

- 检查容器运行状态
sudo docker ps | grep mysql_8.4.5

- 启动 MySQL 容器
docker start mysql_8.4.5

- 进入 MySQL 命令行
docker exec -it mysql_8.4.5 mysql -u root -p
输入密码(步骤 4 设置的 123456)。


- 退出 MySQL
exit

- 设置自动重启策略
docker update --restart=always mysql_8.4.5

- 检查重启策略
docker inspect -f '{{.HostConfig.RestartPolicy.Name}}' mysql_8.4.5
应显示 always。

- 开放防火墙端口
sudo ufw allow 3306/tcp
sudo ufw allow 3306/udp
sudo ufw reload
sudo ufw status
- 再次查看容器状态
sudo docker ps | grep mysql_8.4.5

- 远程连接测试

五、Docker 中安装 Tomcat
准备条件:已安装 Docker,并在云服务器安全组开放端口(如 8080)。
阿里云服务器端口配置: 登录阿里云控制台 — 云服务器 ECS — 安全组 — 管理规则 — 手动添加(授权策略:允许,优先级:1,协议类型:TCP,目的端口:8080,授权对象:0.0.0.0/0)。



- 拉取 Tomcat 9 镜像
docker pull tomcat:9

- 创建自定义目录并设置权限
mkdir -p /usr/local/tomcat/{webapps,conf,logs,temp,work}
chmod -R 777 /usr/local/tomcat

- 启动 Tomcat 容器
先启动临时容器复制默认配置文件:
docker run --name temp-tomcat tomcat:9 \
sh -c "mkdir -p /tmp/conf/ && cp -r /usr/local/tomcat/conf/* /tmp/conf/"

将配置文件复制到宿主机:
docker cp temp-tomcat:/tmp/conf/. /usr/local/tomcat/conf/

正式启动容器:
docker run -d \
--name tomcat9 \
-p 8080:8080 \
-v /usr/local/tomcat/webapps:/usr/local/tomcat/webapps \
-v /usr/local/tomcat/conf:/usr/local/tomcat/conf \
-v /usr/local/tomcat/logs:/usr/local/tomcat/logs \
-v /usr/local/tomcat/temp:/usr/local/tomcat/temp \
-v /usr/local/tomcat/work:/usr/local/tomcat/work \
--restart=always \
tomcat:9

- 复制默认欢迎页
docker cp tomcat9:/usr/local/tomcat/webapps.dist/ROOT /usr/local/tomcat/webapps/

- 验证容器状态
docker ps | grep tomcat9
显示 Up 表示启动成功。

访问地址:http://服务器 IP:8080



