当前位置: 首页 > news >正文

在Ubuntu22.04和24.04中安装Docker并安装和配置Java、Mysql、Tomcat

目录

一、准备工作

二、安装Docker

(一)安装Docker

(二)镜像设置

三、jdk-17.0.12的安装

三、docker中安装mysql

四、在Docter中安装Tomcat


一、准备工作

准备条件:服务器操作系统Ubuntu 22.04 64位 UEFI版/Ubuntu 24.04 64位

使用工具FinalShell4.3.10

Docker基本使用指令:

停止容器:docker stop mysql-8.4.5

启动容器:docker start mysql-8.4.5

重启容器:docker restart mysql-8.4.5

删除容器(需先停止):docker rm mysql-8.4.5

查看所有容器:docker ps -a

(注:标红部分只是以mysql为例,仅仅指代容器名称,红色部分也可以更换为容器id

点击下载所需安装包

二、安装Docker

(一)安装Docker

1.打开FinalShell工具,创建一个SSH连接,使用自己的服务器IP连接。

2.卸载旧版本(如果没有安装过就不必执行)

指令:

sudo apt-get remove docker docker-engine docker.io containerd runc

3.更新 apt 包索引。

指令:

sudo apt-get update

4.安装 apt 依赖包,用于通过HTTPS来获取仓库

指令:

sudo apt-get install \apt-transport-https \ca-certificates \curl \gnupg-agent \software-properties-common

出现以下提示请输入Y

若提示有其他包需要更新,可以执行指令:

sudo apt-get upgrade

5.添加 Docker 的官方 GPG 密钥:

指令:

curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg -o /etc/apt/keyrings/docker.asc

6.使用以下指令设置稳定版仓库

指令:

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

7.安装 Docker Engine-Community

更新 apt 包索引。

指令:

sudo apt-get update

8.创建自定义Docker安装目录

指令:

sudo mkdir -p /usr/local/docker

9.安装 Docker Engine-Community 到自定义路径

注意:Docker默认安装路径在/var/lib/docker,我们需要在安装后迁移数据

指令:

sudo apt-get install -y docker-ce docker-ce-cli containerd.io

如果出现以下请提示输入Y

如果出现以下提示,按回车同意就好。

10.停止Docker服务

指令:

sudo systemctl stop docker

11.备份原有Docker数据(如果存在)

指令:

if [ -d "/var/lib/docker" ]; thensudo cp -r /var/lib/docker /var/lib/docker.backup
fi

12.创建符号链接,将Docker数据目录指向自定义路径

指令:

sudo ln -sf /usr/local/docker /var/lib/docker

(二)镜像设置

设置镜像的前提下需要保证Docker已经安装成功

1.启动Docker服务

指令:

sudo systemctl start docker

2.查看Docker版本

指令:

sudo docker version

3.进入Docker指令:

cd /etc/dockersudo mkdir -p /etc/docker

4.创建daemon.json配置文件

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

5.重新加载配置并重启Docker

指令:

sudo systemctl daemon-reloadsudo systemctl restart docker

6.验证安装和配置

指令:

sudo docker info | grep "Docker Root Dir"

7.拉取镜像hello-world镜像

指令:

sudo docker pull hello-world

8.运行镜像

指令:

sudo docker run hello-world

三、jdk-17.0.12的安装

1.准备工作 在/usr/local 路径下创建java文件夹,上传jdk压缩包jdk-17.0.12_linux-x64_bin.tar.gz

完成后如图所示:

2.解压jdk

指令:

tar -zxvf jdk-17.0.12_linux-x64_bin.tar.gz

完成后如图所示:

3.配置环境变量

指令:

vim /etc/profile

进去i左下脚会出现INSERT字样,这是就能修改配置文件,如图所示:

接下来将以下内容添加到最后并按esc此时左下角insert字样会消失

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}

随后直接输入指令并回车强制保存 :

指令: 

:wq!

4.使配置环境生效

指令:

source /etc/profile

5.检查是否安装成功

指令:

java -version

如图所示便是安装成功:

三、docker中安装mysql

1.查了docker是否运行

指令:

sudo systemctl status docker

运行状态如图所示:

2.创建数据持久化存储目录

指令:

sudo mkdir -p /usr/local/mysql/data
sudo chmod -R 777 /usr/local/mysql/data

进入路径:

cd /usr/local/mysql 

如图所示:

3.在docker中拉取mysql8.4.5镜像,并等待所有进度条加载完成

指令:

docker pull mysql:8.4.5

进度条图:

拉取成功图:

4.创建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 mysql_8.4.5 \   创建名字可以自定义

-p 4060:3306 \   设置mysql端口 只用设置冒号前面的

-e MYSQL_ROOT_PASSWORD=123456 \  设置root密码 现在是123456

注意:斜杠是换行的意思

成功如图所示:

5.检查步骤创建的容器是否运行

指令:

sudo docker ps | grep mysql_8.4.5

运行状态如图所示:

6.启动mysql容器

指令:

docker start mysql_8.4.5

7.进入mysql输入密码(密码由第四步设置)

指令:

docker exec -it mysql_8.4.5 mysql -u root -p

输入密码界面:

成功进入后:

8.退出mysql

指令:

exit

成功退出出现bye字样如图所示:

9.设置自动重启的策略

指令:

docker update --restart=always mysql_8.4.5

成功如图所示:

10.检查是否设置成功

指令:

docker inspect -f '{{.HostConfig.RestartPolicy.Name}}' mysql_8.4.5

成功出现always字样如图所示:

11.开放步骤4的端口,并重新启动服务器

指令:

sudo ufw allow 3306/tcp
sudo ufw allow 3306/udp
sudo ufw reload
sudo ufw status

12.再次查看容器是否运行(同步骤5)

指令:

sudo docker ps | grep mysql_8.4.5

运行状态如图所示:

13.使用工具进行远程连接测试

四、在Docter中安装Tomcat

准备条件:在服务器上需要配置安装成功Docter,在阿里云服务器上面产看是否配置端口(8080/8080),如果没有需要配置端口。

端口配置过程:

登录阿里云服务器—云服务器ESC—安全组—管理规则—手动添加(授权策略:允许,优先级:1,协议类型:自定义TCP,目的:8080/8080,授权对象:所有IPv4(0.0.0.0/0))

1.拉取Tomcat 9镜像(稳定版)

指令:

docker pull tomcat:9

2.创建自定义目录并设置权限(核心路径:/usr/local/tomcat)

指令:

mkdir -p /usr/local/tomcat/{webapps,conf,logs,temp,work}
chmod -R 777 /usr/local/tomcat  # 避免权限不足导致启动失败

3.启动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

4.复制默认欢迎页(解决访问空白问题)

指令:

docker cp tomcat9:/usr/local/tomcat/webapps.dist/ROOT /usr/local/tomcat/webapps/

5.验证容器状态

指令:

docker ps | grep tomcat9 

显示"Up"状态表示启动成功

如果已经在服务器上开放端口(Tomcat默认端口为8080),以上没有出错就直接可以去浏览器上访问是否有“猫”,访问地址:http://服务器IP:8080

感谢2022级软件工程3班杨凡/赵仁珍同学的积极测试和整理,若有问题请及时联系。

http://www.dtcms.com/a/483014.html

相关文章:

  • 【Linux】线程同步与互斥(1)
  • 网站开发英语英语义乌网八方资源家1688网商网
  • 基于单片机的PID调节脉动真空灭菌器上位机远程监控设计
  • 汕头网站关键词优化教程资源分享网站怎么做
  • STM32H7xx 运行 LWIP 时的 MPU 配置介绍 LAT1510
  • 能动框架战场:如何摆脱供应商锁定并在下次AI战争中生存
  • 免费试用网站空间人人开发接单官网
  • 视联网技术产业观察与分析:视频隐私与安全防护
  • 南通网站建设祥云深圳罗湖网站设计公司
  • 基于蚁群算法优化BP神经网络的实现方法
  • 《Effective Java》第10条:覆盖 equals 时请遵守通用规定
  • 广东广州快速网站制作平台鄂州网站建设哪家好
  • 安卓android自动化测试-uiautomator/uiautomator2
  • 天津 网站设计公司门户网站制作定做
  • React组件复用导致的闪烁问题及通用解决方案
  • Java EE开发技术(Servlet整合JDBC银行管理系统-上)
  • 深入理解string底层:手写高效字符串类
  • 做国际网站有用吗基础建设图片
  • 启动hbase后,hbmaster总是挂
  • 自助网站建设开发流程步骤西安活动策划执行公司
  • 计算机系统---CPU的进程与线程处理
  • cv_bridge和openCV不兼容问题
  • json转excel python pd
  • 上海网站建设排名公司哪家好天蝎网站建设公司
  • 进入网络管理的网站不想用原来的网站模板了就用小偷工具采集了一个可是怎么替换
  • 西安注册公司在哪个网站系统哈尔滨模板网站
  • android 开机启动 无线调试
  • Polaris Officev9.9.12全功能解锁版
  • 云信im在Android的使用
  • 王道数据结构应用题强化表3.1.1-3.1.6