美文网首页java后台
SpringBoot系列—Docker(十九)

SpringBoot系列—Docker(十九)

作者: 海晨忆 | 来源:发表于2019-11-13 14:42 被阅读0次

    个人博客: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的时候一般都是跟上端口映射,不然访问不到。

    相关文章

      网友评论

        本文标题:SpringBoot系列—Docker(十九)

        本文链接:https://www.haomeiwen.com/subject/auwhictx.html