SpringBoot系列—Docker(十九)

个人博客:haichenyi.com。感谢关注

简介

  Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,
然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

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

  我们spring boot项目,什么地方需要用到dockers呢?我们最后项目发布,发到服务器上面,环境怎么搭建?如果就用Linux命令会很麻烦,用Docker,简单的几行命令就可以了。

  服务器其实就是一个操作系统,我们的项目跑在上面也是需要环境的,我们本地是windows系统,跑项目需要环境,服务器现在一般都是centOS系统,当然也需要环境。

核心概念

  • docker镜像(images):Docker镜像用于创建Docker容器的模板
  • docker容器(container):Docker容器是独立运行的一个或者一组应用
  • docker客户端(client):客户端通过命令或者其他工具一起使用docker api与docker守护进程
  • docker主机(host):一个物理或者虚拟的机器用于执行docker守护进程和容器
  • docker仓库(registry):docker仓库用来保存镜像,可以理解为代码控制中的代码仓库。docker hub提供了庞大的镜像集合供使用

  举个例子,我们一般操作流程是这样的:

  1. 先用VirtualBox启动一个虚拟机,启动的是centOS系统,装上docker程序(docker主机)。这个对应的就是我们项目最后发布的服务器。
  2. 然后,用SecureCRT连上我们这个虚拟机。(docker客户端)。
  3. 接着,通过docker从docker 仓库中下载我们需要的镜像,比方说:mysql镜像,redis镜像等等。
  4. 最后,启动这个镜像,就相当于创建一个容器。启动镜像,就相当于配置好了环境。比方说:启动一个mysql镜像,就相当于创建了一个mysql容器,就可以用mysql数据库了。可以启动的那个多个镜像,并且,每个镜像都是独立运行的,互不干扰(沙箱机制)。

Docker安装

查看centOS版本:

//docker要求CentOS系统内核版本要高于3.10
uname -r

升级软件包及内核:

//因为,我们安装的docker是最新版本的
//但是,内核版本低可能不兼容,所以,要更新
//如果,后面安装成功之后,启动的时候出错,那么就先卸载docker,更新内核
//重启之后,再重新安装docker就行了
yum update

安装docker

yum install docker

卸载docker

yum remove docker-*

启动docker

systemctl start docker

将docker作为开机启动

systemctl enable docker

常用操作

名称 命令 说明
检索 docker search 关键字(eg:docker search redis) 我们经常去docker hub上检索镜像的详细信息,不用再本地敲命令搜索。如镜像的TAG
拉取 docker pull 镜像名:tag :tag是可选的,tag表示标签,多为软件的版本,默认是latest版本
列表 docker images 查看所有本地镜像
删除 docker rmi image-id 删除指定的本地镜像,镜像id可以通过列表查看
运行 docker run -d --name 自定义名字 安装的容器名字(eg:docker run –d –name myredis redis) –name:自定义容器名 -d:后台运行
列表 docker ps(查看运行中的容器) 加上-a;可以查看所有容器
停止 docker stop container-name/container-id 停止当前你运行的容器
启动 docker start container-name/container-id 启动容器
删除 docker rm container-id 删除指定容器
端口映射 -p 6379:6379 -p: 主机端口(映射到)容器内部的端口
容器日志 docker logs container-name/container-id

PS:我们docker run的时候一般都是跟上端口映射,不然访问不到。

你可能感兴趣的:(java后台,spring,boot,docker)