Linux+docker部署项目

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用版 2核4GB 50GB
简介: Linux+docker部署项目

1.虚拟机安装


1.1.创建新的虚拟机

1.2.选择自定义(高级)

1.3.选择虚拟机硬件兼容性

1.4.安装客户机操作系统

选择稍后安装

1.5.选择操作系统

1.6.配置安装位置

1.7.设置虚拟机处理器配置

1.8.设置虚拟机内存

根据需要自行设置

1.9.设置网络类型

1.10.选择I/O控制器类型,默认就好

1.11.选择磁盘类型,默认

1.12.选择磁盘

1.13.指定磁盘大小

1.14.指定磁盘文件

1.15.核对配置,单击完成

1.16.编辑虚拟机设置

1.17.开启虚拟机

1.18.开始安装,选择后等待安装

1.19.选择语言

1.20.配置安装信息

1.21.设置root密码

1.22.点击重启

1.23.登录系统

PS:输入密码的时候不会提示, 实际上已经输入了

出现红框中所示表示登录成功

1.24.配置网卡

输入ifconfig, 出现如红框所示表示没有ip地址

注:

新版的CentOS7开始对网卡的编号有一套规则,网卡的代号与网卡的类型有关:

  1. eno1: 代表由主板bios内置的网卡
  2. ens1:代表由主板bios内置的PCI-E网卡
  3. enp2s0: PCI-E独立网卡
  4. eth0: 如果以上都不使用,则返回默认的网卡
    ens33则属于第二种类型,即说明你的网卡是内置的PCI-E网卡

lo:全称loopback,是回环地址,经常被分配到127.0.0.1地址上,用于本机通信,经过内核处理后直接返回,不会在任何网络中出现

link/ether: MAC地址,硬件地址,全球唯一

网络设备状态标识:<BROADCAST,MULTICAST,UP,LOWER_UP>

UP: 网卡处于启动状态

BROADCAST: 网卡有广播地址,可以发生广播包

MULTICAST: 网卡发送多播包

LOWER_UP: L1是启动的,即网线是插着的。

1.24.1.使用vi编辑ifcfg-ens33
  • cd /etc/sysconfig/network-scripts
  • 输入命令: vi ifcfg-ens33,进入编辑界面
  • 点击insert键,进入插入模式, 此时鼠标不可用,使用上下左右按键移动鼠标
  • 将ONBOOT值改为yes
  • ESC键退出插入模式
  • :wq 表示保存并退出,如果退出不保存则输入 :q!

注:

ONBOOT:指明在系统启动时是否激活网卡,只有在激活状态的网卡才能连接网络进行网络通讯

DEVICE:网卡名称

BOOTPROTO=none 表示使用什么样的路由协议,如果值为none/static表示使用的是静态路由,那么接下来必须填写IPADDR(ip地址)、NETMASK(子网掩码)、GATEWAY(网关)、DNS1这几选项,如果是dhcp表示使用的是动态路由,上面提到的几项可以不填,由DHCP服务自动分配,如果填写了则以你填写的为准。

HWADDR:你网卡的物理地址,可以不写,系统自动生成

1.24.2.重启网络服务
service network restart
• 1

再次输入ifconfig

此时已经有ip地址了

2.安装MobaXterm软件


有其他远程连接工具可以不用安装

2.1.解压压缩包

2.2.绿色软件,双击MobaXterm.exe即可运行

3.使用MobaXterm连接虚拟机


3.1.点击session

3.2.选择SSH

3.3.填入ip地址, 点击下方的OK

3.4.输入用户名和密码连接服务器

3.5.连接成功,示例

4.切换为国内源


4.1.备份原有的源

cp /etc/yum.repos.d/CentOS-Base.repo  /etc/yum.repos.d/CentOS-Base.repo.bak

ps: cp是copy的缩写,表示复制文件

4.2.查看是否备份完成

cd /etc/yum.repos.d
ll

4.3.生成阿里源

wget -O CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

PS:

wget 非交互式的网络文件下载工具

用法: wget [选项]… [url]…

-o --output 后接文件名,将信息写入指定的文件

-a --append-output 后接文件名,将信息添加到指定的文件

-d --debug 打印调试信息

-q --quiet 安静模式

-F --force-html 把输入文件当成html文件

-t --tries=num 设置重试的次数

-nc --no-clobber 不要重复下载已存在的文件

出现问题

输入

yum install wget

再次执行最初的命令

4.4.清空缓存

yum clean all

4.5.重新生成缓存

yum makecache

5.生成快照


5.1.点击管理快照

5.2.点击拍摄快照

5.3.填入必要信息点击拍摄快照

5.4.等待左下角保存完成

6.JDK及tomcat安装


6.1.使用MobaXterm上传文件

**PS: **

注:

tar包属于打包文件,Unix和类Unix系统上的压缩打包工具,可以将多个文件打包为一个文件,文件后缀为tar

tar.gz包是压缩文件,经过gzip压缩后的tar文件,形成tar.gz包,扩展名为tar.gz

两种文件的用途不同,tar.gz一般情况下是源代码安装包,需要先解压再经过编译、安装才能执行。tar包最初设计目的是将文件备份到磁带上(tape archive),因此得名,一般用于文件备份。

6.2.解压文件

#注意要进入上传的文件夹
tar -zxvf apache-tomcat-8.5.20.tar.gz
tar -zxvf jdk-8u151-linux-x64.tar.gz

参数说明:

z:指明压缩文件为gzip压缩

x:表示执行解压,如果使用c参数则表示压缩

v:显示详细的处理过程

f:要操作的文件名

-C:解压到指定目录,如:tar -zxf abc.tar.gz -C /root 将abc.tar.gz解压到root目录去。

自己安装的jdk适合安装在哪里?

自己安装的软件一般会放在/usr/local下,该目录与windows中的C:\Program Files类似。

其他常用目录结构:

/usr:系统级目录,类似于c:/windows

/usr/lib: 系统级目录,类型与c:/windows/system32

/opt: 用户级目录,可以近似的理解为d:/software,opt为可选的意思,一般用来安装第三方软件,或者是一些服务程序的安装

解压好后的样子

蓝色的是文件夹

红色的是压缩包

6.3.配置环境变量

进入刚才解压文件夹路径

输入pwd查看文件夹全路径

#配置环境变量
vim /etc/profile
#出现错误 -bash: vim: 未找到命令
#执行
yum install vim
# 按insert进入插入模式, 粘贴一下内容, 按esc退出, 输入:wq退出
#java environment
export JAVA_HOME=/zjzaki/jdk1.8.0_151
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#设置环境变量生效
source /etc/profile

6.4.进入tomcat安装目录

#进入解压的tomcat目录
cd apache-tomcat-8.5.20
#进入bin目录
cd bin
#查看文件目录
ll
#启动tomcat
./startup.sh

访问一下IP:8080

此时是没又开放防火墙端口,接着往下面走

6.5.防火墙设置

此处开放3306和8080端口, 3306后面需要使用(公网服务器不建议打开)

#开放端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
firewall-cmd --zone=public --add-port=8080/tcp --permanent
#跟新防火墙规则
firewall-cmd --reload
#防火墙列表
firewall-cmd --zone=public --list-ports
#防火墙状态
systemctl status firewalld
#启动防火墙
systemctl start firewalld
#关闭防火墙
systemctl stop firewalld.service
systemctl disable firewalld.service

此时在访问ip:8080

成功访问tomcat服务器

7.Docker的安装


7.1.查看系统内核版本

Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

#通过 uname -r 命令查看你当前的内核版本
uname -r

7.2.更新yum包

#使用 root 权限登录 Centos。确保 yum 包更新到最新。
yum update

7.3.卸载旧版本(如果安装过旧版本的话)

yum remove docker  docker-common docker-selinux docker-engine

7.4.安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

yum install -y yum-utils device-mapper-persistent-data lvm2

7.5.设置yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

7.6.安装最新版本的Docker

yum install -y -y docker-ce docker-ce-cli containerd.io

7.7.启动Docker并设置开机启动

systemctl start docker
systemctl enable docker

7.8.验证Docker

docker version

7.9.配置阿里云镜像源

7.9.1登录进入阿里云镜像服务中心,获取镜像地址

进入阿里云容器镜像服务地址:

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

7.9.2.在/etc/docker目录下找到在daemon.json文件(没有就新建),将下面内容写入

{

“registry-mirrors”: [“https://xxxxxxx.mirror.aliyuncs.com”]

}

vim /etc/docker/daemon.json
按insert进入插入模式,写入内容
写入完成后, 按esc, 最后输入:wq 保存并退出

7.9.3.重启daemon

systemctl daemon-reload

7.9.4.重启docker服务

systemctl restart docker

8.使用docker搭建mysql环境


#拉取镜像
docker pull mysql:5.7
#启动镜像
docker run -p 3306:3306 --name mysql1   -di -v /home/zjzaki/data/mysql/mysql.conf.d/:/etc/mysql/mysql.conf.d/ -v /home/zjzaki/data/mysql/data/:/var/lib/mysql -v /home/zjzaki/data/mysql/log/:/var/log -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

9.发布项目


9.1.数据库的创建

9.1.1.使用navicat连接数据库

单击测试连接,出现以下弹窗表示连接成功

9.1.2.创建数据库

9.1.3.执行sql文件, 建表

9.2.上传war包到tomcat的webapps路径下

9.3.重启tomcat服务器

#进入tomcat的bin目录!!!
cd /zjzaki/apache-tomcat-8.5.20/bin
#关闭tomcat服务器
./shutdown.sh
#启动tomcat服务器
./startup.sh

9.4.访问ip:8080/oapro/

输入账号: admin 密码: 123456

目录
相关文章
|
1天前
|
Kubernetes Java Docker
使用Kubernetes和Docker部署Java微服务
使用Kubernetes和Docker部署Java微服务
|
1天前
|
存储 Serverless 对象存储
函数计算产品使用问题之项目打包为docker镜像,该如何部署上去
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
1天前
|
关系型数据库 MySQL Nacos
使用 Docker 部署 Nacos 并配置 MySQL 数据源
使用 Docker 部署 Nacos 并配置 MySQL 数据源
8 0
|
1天前
|
关系型数据库 应用服务中间件 nginx
Docker + node(koa) + nginx + mysql 线上环境部署
Docker + node(koa) + nginx + mysql 线上环境部署
|
1天前
|
关系型数据库 OLAP 分布式数据库
PolarDB产品使用问题之是否可以部署到linux中
PolarDB产品使用合集涵盖了从创建与管理、数据管理、性能优化与诊断、安全与合规到生态与集成、运维与支持等全方位的功能和服务,旨在帮助企业轻松构建高可用、高性能且易于管理的数据库环境,满足不同业务场景的需求。用户可以通过阿里云控制台、API、SDK等方式便捷地使用这些功能,实现数据库的高效运维与持续优化。
|
3天前
|
应用服务中间件 nginx Docker
详细解读docker部署项目
详细解读docker部署项目
11 0
|
3天前
|
前端开发 Java Docker
Docker 部署项目,真的太雅了~
Docker 部署项目,真的太雅了~
11 0
|
3天前
|
NoSQL 编译器 Linux
【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用
【Linux】--- Linux编译器-gcc/g++、调试器-gdb、项目自动化构建工具-make/Makefile 使用
8 0
|
3天前
|
Kubernetes 监控 数据安全/隐私保护
基于Docker的淘客返利平台部署
基于Docker的淘客返利平台部署
|
运维 Kubernetes 前端开发
【云原生】阿里云服务器部署 Docker Swarm集群
阿里云服务器 一键部署 Docker Swarm 集群!
580 0
【云原生】阿里云服务器部署 Docker Swarm集群