容器化实战--vmware安装centos7-安装docker-idea部署springBoot项目到docker

news2024/9/21 15:47:40

前言

走过的坑终将化为蒲公英,风一吹就消散了,然后继续掉坑…

整体背景

win10
idea2019.3
vmware15 pro
CentOS-7-x86_64-DVD-2009.iso
docker 23.0.4
redis
mysql8
springBoot项目

1.安装虚拟软件vmware15 pro

安装vmware15

2.安装宿主机centos7

安装centos7
坑1:有可能ping www.baidu.com失败
参考链接
检查如下:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.安装docker及redis,mysql

最终目标
1.win10能telnet 虚拟机ip 3306 是ok得

2.能连上数据库
在这里插入图片描述

2.能连上redis
在这里插入图片描述
教程和坑如下(ps:因为有的人能一次成功,但有的人历经很多坑,所以常见坑的解决方案如下):
终极解决方案:重新安装centos7,从头来
常见命令:
启动docker应用
systemctl start docker

查看docker应用启动情况
systemctl status docker

停止docker应用
systemctl stop docker

查找镜像
docker search mysql

拉取镜像 tag 不写时,默认为latest
docker pull 镜像名字:tag

查看本地已拉取的镜像
docker images

删除镜像
docker rmi
例如:docker rmi mysql:5.6.40

创建并运行容器
docker run -id --name=mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:latest

启动容器
docker start redis1

停止运行容器
docker stop redis1

重启容器
docker restart redis1

查看容器的运行日志
docker logs -f redisTest

查看运行着的容器
docker ps

查看本地已创建的容器(运行着的+未运行着的)
docker ps -a

删除容器
docker rm
通过 容器名称 定位容器
docker rm redisTest
通过 容器ID 定位容器
docker rm d66021564fd4

登录到容器的控制台
docker exec
例如:docker exec -it redisTest /bin/bash

查看容器的端口映射
docker port redisTest

查看docker容器ip
//启动容器以后使用
docker inspect 容器名

#删除redis容器
docker rm -f myredis

#设置挂载重新运行redis
docker run -id --name=myRedis --privileged=true -p 6379:6379 -v /usr/local/docker/redis_6379/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/redis_6379/data:/data --name myredis redis redis-server /etc/redis/redis.conf --appendonly yes --requirepass “123456”
设置挂载重新运行mysql8
docker run -id --privileged=true --name=mysql8 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:latest
#设置挂载重新运行自己得springboot项目
docker run -id --name=springbootquartz -p 7016:7016 springbootquartz:latest

参考链接1
参考链接2
docker部署mysql后无法连接的解决方式
linux net.ipv4.ip_forward 数据包转发
CENTOS7防火墙开启、停止、关闭,添加删除开放端口

安装mysql 挂起之后 再次运行无法连接问题
外部连接不上 docker内的Mysql,telnet不通3306

Failed to start Docker Application Container Engine 解决方案

永久关闭linux防火墙

4.idea部署项目到docker中

ps: 第三步的目标达成后进行此步骤

教程1

教程2

Cannot resolve plugin com.spotify:docker-maven-plugin

Docker拉取jdk8镜像失败解决方案

运行jar包时提示no main manifest attribute解决方法

我的项目

在这里插入图片描述
在这里插入图片描述

com.spotify docker-maven-plugin 1.2.2
            <configuration>
                <!--指定生成的镜像名,这里是我们的项目名 命名有要求:符合正则表达式,不能使用驼峰,"-" -->
                <imageName>${project.artifactId}</imageName>
                <!--指定标签 这里指定的是镜像的版本,我们默认版本是latest-->
                <imageTags>
                    <imageTag>latest</imageTag>
                </imageTags>
                <!-- 指定我们项目中Dockerfile文件的路径-->
                <dockerDirectory>${project.basedir}/src/main/resources</dockerDirectory>

                <!--指定远程docker 地址-->
                <dockerHost>http://192.168.11.101:2375</dockerHost>

                <!-- 这里是复制 jar 包到 docker 容器指定目录配置 -->
                <resources>
                    <resource>
                        <targetPath>/</targetPath>
                        <!--jar包所在的路径  此处配置的即对应项目中target目录-->
                        <directory>${project.build.directory}</directory>
                        <!-- 需要包含的 jar包 ,这里对应的是 Dockerfile中添加的文件名 -->
                        <include>${project.build.finalName}.jar</include>
                    </resource>
                </resources>
            </configuration>
        </plugin>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
            <executions>
                <execution>
                    <phase>package</phase>
                    <goals>
                        <goal>repackage</goal>
                    </goals>
                </execution>
            </executions>

            <configuration>
                <includeSystemScope>true</includeSystemScope>
                <mainClass>com.niu.springboot.QuartApplication</mainClass>
            </configuration>
        </plugin>
    </plugins>
</build>

最终成果:

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/456758.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

为什么你永远不应该在CSS中使用px来设置字体大小

代码部署后可能存在的BUG没法实时知道&#xff0c;事后为了解决这些BUG&#xff0c;花了大量的时间进行log 调试&#xff0c;这边顺便给大家推荐一个好用的BUG监控工具 Fundebug。 在Josh Collinsworth的博客文章“永远不要用px作为字体大小”中&#xff0c;作者讨论了为什么不…

HashMap 的特点及其优缺点以及底层实现

Hash&#xff1a;散列 Map&#xff1a;映射 顾名思义&#xff0c;是以 key-value 的形式存储数据 public class HashMap<K,V> {transient Node<K,V>[] table;// 初始容量 16static final int DEFAULT_INITIAL_CAPACITY 1 << 4; }通过源码可知&#xff0c;…

Web安全 iwebsec 靶场搭建.

Web安全 iwebsec靶场搭建 iwebsec 本质上是一个漏洞集成容器&#xff0c;里面集成了大量的漏洞环境.&#xff08;如&#xff1a;集合了SQL注入、文件包含、命令执行、XXE、反序列化、SSRF、XSS、文件上传等常见的web漏洞环境&#xff09; 目录&#xff1a; 靶场安装步骤&#…

免费gpt-4-国内使用gpt-4

如何用上gpt-4 GPT-4尚未正式发布和公开&#xff0c;因此我们无法提供对GPT-4的具体使用方法。但是&#xff0c;可以从GPT-4的前一代——GPT-3的使用经验和GPT-4的预期功能来看&#xff0c;建议如下&#xff1a; 了解GPT-4的语言处理能力和适用场景&#xff1a;GPT-4预计将进一…

影视动画制作中的后期渲染是什么意思?

影视动画制作是一项非常复杂的任务&#xff0c;需要涵盖从剧本创作到角色设计、场景布置、动画制作、后期渲染等多个环节。其中&#xff0c;后期渲染是制作过程中的最后一步&#xff0c;也是非常重要的一步&#xff0c;它可以使得动画画面更加真实、细腻&#xff0c;达到更好的…

CPU Cache:访问存储速度是如何大幅提升的?

我们了解到不同的物理器件&#xff0c;它们的访问速度是不一样的&#xff1a;速度快的往往代价高、容量小&#xff1b;代价低且容量大的&#xff0c;速度通常比较慢。为了充分发挥各种器件的优点&#xff0c;计算机存储数据的物理器件不会只选择一种&#xff0c;而是以 CPU 为核…

浅析“04.23王者荣耀KPL比赛因出现硬件异常导致比赛延期”这一事件

背景 不知道朋友们有没有看昨天晚上八点多的王者荣耀KPL比赛&#xff08;成都AG超玩会VS广州TTG&#xff09;这一场&#xff0c;当时比赛进行到快15分钟的时候出现了红方请求暂停的情况&#xff0c;后来比赛直播界面就一直提示如下&#xff1a; 本以为这个问题应该不算太严重…

Java——栈的压入,弹出序列

题目链接 牛客网在线oj题——栈的压入,弹出序列 题目描述 输入两个整数序列&#xff0c;第一个序列表示栈的压入顺序&#xff0c;请判断第二个序列是否可能为该栈的弹出顺序。假设压入栈的所有数字均不相等。例如序列1,2,3,4,5是某栈的压入顺序&#xff0c;序列4,5,3,2,1是…

手把手教你PXE高效网络装机、Kickstart无人值守安装(详细版)

目录 一、部署PXE远程安装服务1.1PXE定义1.2PXE服务优点1.3搭建网络体系前提条件1.4 搭建PXE远程安装服务器 二. 实验2.1 服务器操作2.2 安装启动TFTP服务并修改TFTP服务的配置文件2.3 安装并启用DHCP服务2.4 准备linux内核&#xff0c;初始化镜像文件2.5 准备PXE引导程序2.6 安…

编程中最难的就是命名?这几招教你快速上手

作者&#xff1a;陈立(勤仁) 你可不能像给狗狗取名字那样给类、方法、变量命名。仅仅因为它很可爱或者听上去不错。 在写代码的时候&#xff0c;你要经常想着&#xff0c;那个最终维护你代码的人可能将是一个有暴力倾向的疯子&#xff0c;并且他还知道你住在哪里。 01 为什么…

GitHub star最多的 dnmp环境 安装

对于安装GitHub上start最多的dnmp环境的步骤及感悟 https://github.com/yeszao/dnmp/blob/master/README.md 在服务器上装docker与docker-compose 注意&#xff1a;安装docker-compose的时候选择官方版本安装(虽然慢但是请等等)&#xff0c;我操作时出现过国内镜像地址安装但…

flex弹性布局的基本操作知识

今天为大家阐述如何在开发APP或网站的时候&#xff0c;制定一套弹性布局&#xff0c;相互之间兼容&#xff0c;那么我们就可以用Flex来实现&#xff1a; 什么是flex?&#xff1a;Flex是Flexible Box的缩写&#xff0c;意为”弹性布局”&#xff0c;用来为盒状模型提供最大的灵…

Ubuntu 上使用nginx部署vue项目(403/(98: Address already in use))

准备好前端dist文件 保证dist/index.html 点击在本地可以访问&#xff0c; 一&#xff0c;nginx安装 第一步&#xff0c;更新源列表 apt-get update 第二步&#xff0c;安装nginx apt-get install nginx 第三步&#xff0c;检查nginx是否安装成功。如果出现版本号说明安…

直播预告:重保常见攻击场景及解决方案

重保在即&#xff0c;针对邮件系统的网络攻击、主机威胁、账号失陷等攻击场景&#xff0c;该如何应对&#xff1f; 4月25日&#xff08;周二&#xff09;15&#xff1a;00-16&#xff1a;30 Coremail举行重保常见攻击场景及解决方案直播交流会 在这里&#xff0c;您将看到&…

itop-3568 开发板系统编程学习笔记(19)GPIO 应用编程

【北京迅为】嵌入式学习之Linux系统编程篇 https://www.bilibili.com/video/BV1zV411e7Cy/ 个人学习笔记 文章目录 使用 sysfs 方式操作 GPIOGPIO 应用编程 使用 sysfs 方式操作 GPIO 和上一篇笔记 LED 应用编程一样&#xff0c;GPIO 也可以通过 sysfs 方式来控制。 在串口终…

Elasticsearch:使用 Elastic APM 监控 Android 应用程序(一)

作者&#xff1a;Alexander Wert, Cesar Munoz 人们通过私人和专业的移动应用程序在智能手机上处理越来越多的事情。 拥有成千上万甚至数百万的用户&#xff0c;确保出色的性能和可靠性是移动应用程序和相关后端服务的提供商和运营商面临的主要挑战。 了解移动应用程序的行为、…

【计算机视觉】必须了解的图像数据底层技术

计算机视觉的主要目的是让计算机能像人类一样甚至比人类更好地看见和识别世界。计算机视觉通常使用C、Python和MATLAB等编程语言&#xff0c;是增强现实&#xff08;AR&#xff09;的一项重要技术。 文章目录 一、引言二、什么是计算机视觉&#xff08;Computer Vision&#xf…

Flink窗口函数

1.什么是窗口函数 Flink窗口函数是指对数据流中的数据进行分组和聚合操作的函数。 FlinkSQL支持对一个特定的窗口的聚合。例如有用户想统计在过去的1分钟内有多少用户点击了某个的网页。在这种情况下&#xff0c;我们可以定义一个窗口&#xff0c;用来收集最近一分钟内的数据…

codemirror 5前端代码编辑器资料整理。

CodeMirror 是基于js的源代码编辑器组件&#xff0c;它支持javascript等多种高级语言&#xff0c;tampermonkey内置的代码编辑器就是基于它。它的按键组合方式兼容vim&#xff0c;emacs等&#xff0c;调用者还可自定义”自动完成“的列表窗口&#xff0c;自由度极高&#xff0c…

Android studio 按钮状态列表

1.创建一个drawable&#xff0c;类型selector 。 <?xml version"1.0" encoding"utf-8"?> <selector xmlns:android"http://schemas.android.com/apk/res/android"><!--被按下状态 --><item android:state_pressed"…