Spring Boot与Docker

五、Spring Boot与Docker

1. Docker简介

image-20201219145201370

Docker 是一个开放源代码软件,是一个开放平台,用于开发应用、交付(shipping)应用、运行应用。 Docker允许用户将基础设施(Infrastructure)中的应用单独分割出来,形成更小的颗粒(容器),从而提高交付软件的速度。

基于Go语言并遵循Apach2.0协议

Docker可让开发者打包他们的应用以及依赖包到一个轻量级、可移指的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化

Docker容器时完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

搜狗截图20180303145531

2. Docker核心概念

搜狗截图20180303165113

**Docker镜像(Images):**Docker镜像是用于创建Docker容器的模板

**Docker容器(Container):**容器时独立运行的一个或一组应用

**Docker客户端(Client):**客户端通过命令行或者其他工具使用Docker

**API:**与Docker的守护进程通信

**Docker主机(Host):**一个物理或者虚拟的机器用于执行Docker守护进程和容器

**Docker仓库(Registry):**Docker仓库用来保存镜像,可以理解为代码控制中的代码仓库

**Hub:**提供了庞大的镜像集合供使用

3. Docker环境准备

3.1 安装linux虚拟机

虚拟机可以使用VMWare或者VirtualBox,此处使用VirtualBox

安装VirtualBox

下载:

https://www.virtualbox.org/wiki/Downloads

根据向导安装

image-20201219165044462

安装成功运行

image-20201219165230906

安装linux虚拟机

下载CentOS7:官网下载

https://www.centos.org/

安装虚拟机,安装完成

image-20201219170843102

此时双击就可启动linux虚拟机

输入账户名和密码

账户名:root

密码:123456

image-20201219171116612

密码输入不会显示。输完回车即可

登录成功:

image-20201219171226731

使用linux客户端连接linux服务器进行命令操作

安装smartty,官网下载

https://sysprogs.com/SmarTTY/

安装:

image-20201219172059363

设置新的ssh连接

image-20201219172318055

设置虚拟机的网络

在virtualbox中进入网络设置

image-20201219172902913

此时虚拟机与物理机处于同一ip网段

虚拟机输入命令:

service network restart

也可以重启虚拟机

image-20201219173233345

查看linux的ip地址

在virtualbox中输入以下命令,查看虚拟机地址

ip addr

image-20201219173503726

使用smartty连接linux服务器

image-20201219173833496

连接完成

image-20201219173947963
3.2 linux虚拟机安装Docker

查看centos版本

Docker要求CentOs系统的内核版本高于3.10

使用以下命令查看

uname -r

image-20201219174415013

如果低于3.10版本使用以下命令升级:

yum update

安装Docker

使用以下命令:

yum install docker

出现[Y/N],输入y

出现complete安装完成

image-20201219174809518

启动Docker

使用以下命令

systemctl start docker

设置开机自启动docker

systemctl enabledocker

image-20201219182503110

停止docker

systemctl stop docker

4. Docker常用操作命令

4.1 镜像操作
操作命令说明
检索docker search 关键字 eg:docker search redis我们经常去docker hub上检索镜像的详细信息,如镜像的TAG。
拉取docker pull 镜像名:tag:tag是可选的,tag表示标签,多为软件的版本,默认是latest
列表docker images查看所有本地镜像
删除docker rmi image-id删除指定的本地镜像

https://hub.docker.com/

安装MySQL

docker pull mysql
4.2 容器操作

软件镜像 - - - 运行镜像 - - - 产生一个容器(正在运行的软件)

步骤:

  1. 搜索镜像

    docker search 镜像名
    
    如:
    docker search tomcat
    
  2. 拉取镜像

    docker pull 镜像名
    
    如:
    docker pull tomcat
    
  3. 根据镜像启动容器

    docker run --name 自定义的容器名 -d 镜像名:TAG
    
    -d:表示后台运行
    如:
    docker run --name mytomcat -d tomcat:latest(TAG内容,版本)
    
  4. 查看运行中的容器

    docker ps 
    
  5. 停止运行中的容器

    docker stop 容器id/容器名
    
    如:
    docker stop f450272f6d00/mytomcat
    
  6. 查看所有容器,包括退出的

    docker ps -a
    
  7. 启动容器

    docker start 容器id//容器名
    
    如:
    docker start 
    mytomcat
    
  8. 删除容器

    docker rm 容器id/容器名
    
    如:
    docker rm mytommcat
    
  9. 端口映射,将主机端口映射到容器端口,外部可访问

    docker run --name mytomcat -d -p 8888:8080 tomcat
    
  10. 如果访问不到,关闭防火墙

    service firewalld status
    查看防火墙状态
    
  11. 查看容器日志

    docker logs 容器id
    
    如
    docker logs 2164979c5078
    

使用虚拟机ip和映射端口访问tomcat

ip:8080

如:
0.0.0.0:8080

安装tomcat如果出现以下情况:

image-20201223171455557

不要惊慌,此时时访问到的但是,由于tomcat的webapps目录下没有index.html所以回报404错误

一个镜像可以启动多个容器,只需要运行几次就行

更多命令参考Docker官方文档

4.3 Docker 安装MySQL

下载MySQL镜像

docker pull mysql

查看镜像

docker images

image-20201223172209893

此时说明,下载完成

启动MySQL容器

docker run -p 本机端口:容器端口 --name 自定义容器名 -e MYSQL_ROOT_PASSWORD=mysql密码 -d mysql:TAG

如:
docker run -p 3306:3306 --name mysql01 -e MYSQL_ROOT_PASSWORD=root -d mysql:latest

此时,外部就可访问连接mysql

image-20201223174711915

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要将Spring BootDocker整合,可以按照以下步骤进行操作: 1. 在项目的pom.xml文件中添加Docker相关配置。在`<properties>`节点中设置Docker镜像的前缀为"springboot"或其他你想要的前缀。这样在构建Docker镜像时可以根据这个前缀命名。 2. 使用Docker Compose工具来启动容器。通过运行`docker-compose up -d`命令可以快速启动容器并在后台运行。这个命令会根据配置文件中定义的服务来创建并启动容器。 3. 如果需要搭建Docker Registry WebUI来管理Docker镜像,可以按照文档中的步骤进行操作。这个Web界面可以方便地管理和浏览Docker镜像。 总的来说,整合Spring BootDocker可以实现一次构建,到处运行的目的。通过构建Docker镜像并使用Docker容器来运行应用程序,可以更加方便地部署和管理应用。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [springboot整合docker部署](https://blog.csdn.net/qq_36628003/article/details/122688189)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* *3* [SpringBoot整合Docker实现一次构建到处运行](https://blog.csdn.net/qq_41779565/article/details/127356651)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值