Docker安装
Docker存储库方式安装
sudo yum install -y yum-utils #安装工具
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo #设置镜像 \表示换行
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin #安装docker
#安装过程中输入了两次y确认
启动测试
systemctl start docker #启动docker容器
systemctl stop docker #停止docker容器
Docker安装mysql
docker pulll mysql:5.7
docker images #可以查看镜像是否被拉取下来
docker run -d -p 3306:3306 --name mysql-5.7 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7
#-d 表示后代启动 --name 容器启动的名称 -e 启动的配置 -p端口映射
# MYSQL_ROOT_PASSWORD 表示root账号的初始密码设置为123456
#可以通过本机的navicat连接docker启动的服务器,如果提示连接不成功,是腾讯云服务器的防火墙3306端口未打开造成的,添加防火墙开放即可连接成功。
docker exec -it mysql-5.7 /bin/bash #进入之前启动id是mysql-5.7的容器
#可以查看到/var/lib/mysql中是存放mysql数据的文件
linux解压缩安装java环境
#通过远程连接工具上传oracle下载的tar.gz的java安装包上传到linux的/usr/java/目录下
tar -zxvf xxx.tar.gz #在/usr/java目录下加压压缩包
#配置环境变量,修改/etc/目录下的profile文件,在文件最后配置java的环境变量
JAVA_HOME=/usr/java/jdk1.8.0_121
JRE_HOME=/usr/java/jdk1.8.0_121/jre
CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:CLASSPATH
PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
export PATH CLASSPATH JRE_HOME JAVA_HOME
#最终重新加载这个配置文件
source /etc/profile
java -version #测试是否安装成功
[root@VM-4-6-centos /] java -version
java version "1.8.0_121"
Java(TM) SE Runtime Environment (build 1.8.0_121-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.121-b13, mixed mode)
Docker启动SpringBoot项目
#上传打包好的jar文件至linux系统
java -jar xxx.jar
#启动项目之后,不能退出窗口,退出窗口,就自动退出了程序
通过docker来启动SpringBoot项目
#创建自己的docker镜像,java:1.0
#Dockerfile文件内容
#开始
FROM centos:7
ADD jdk-8u121-linux-x64.tar.gz /usr/java/
WORKDIR /www/
ENV JAVA_HOME=/usr/java/jdk1.8.0_121
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
ENV PATH=$JAVA_HOME/bin:$PATH
ENTRYPOINT ["java"]
CMD ["-version"]
#结束
docker build -t java:1.0 .
#上面的ENTRYPOINT和CMD联合使用表示,程序默认启动时不传递参数就允许java -version
#注意点:使用ADD命令将外部文件添加到时,由于.的关系,这里的源路径采用的是相对路径,是相对当前目录来的,所以需要将文件移到当前目录下,否则会出现找不到文件的执行docker build失败。
#配置WORKDIR是为了java -jar命令执行找到jar文件
启动测试
docker run -it --name java1 java:1.0
方式一启动SpringBoot项目
docker run --name java-site -p 80:80 -v /www/site-0.0.1-SNAPSHOT.jar:/www/app.jar -d java:1.0 -jar app.jar
#通过数据卷挂载将jar包传入容器启动SpringBoot项目
方式二Dockerfile直接将jar包传入,然后命令直接启动
FROM centos:7
ADD jdk-8u121-linux-x64.tar.gz /usr/java/
ADD /www/**.jar /www/
ENV JAVA_HOME=/usr/java/jdk1.8.0_121
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
ENV PATH=$JAVA_HOME/bin:$PATH
WORKDIR /www/
ENTRYPOINT ["java"]
CMD["-jar **.jar"]
#在创建镜像时,就将指定的jar文件添加进入镜像,在启动容器时默认的命令就是允许这个项目java -jar **.jar
#启动容器的命令
docker run -d -p 80:80 --name java-site java:1.0