当前位置:首页 > CN2资讯 > 正文内容

docker运行java我的世界游戏 docker搭建我的世界服务器

8小时前CN2资讯


         最近在项目需要依赖于Docker,但是博主之前没有接触出过这个,所以小白方式来给大家分享,如果有哪些不足的地方可以在留言区提出来。看完本篇文章可以掌握以下内容:

  • 了解Docker为什么会出现
  • 了解Docker历史
  • 了解Docer能干嘛
  • 完成Docer安装

一、Docker为什么会出现

         一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协助我们需要关心的问题很多,这也是很多互联网公司不得不面对的问题,特别是各种版本的迭代之后不同版本环境的兼容,对运维人员都是考验。         环境配置如此麻烦,换一台机器,就要重新来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说,安装的时候,把原始环境一模一样的复制过来。开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。          开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题。         之前在服务器配置一个应用的运行环境,要安装各种软件,就拿某电商项目为例,Java/Tomcat/Mysql/JDBC驱动包等,安装和配置这些东西有多麻烦就不必多说了, 它还不能跨平台。假设我们是在Windows上安装的这些环境,到了Linux又得重新安装。况且就算不跨操作系统,换另一台同样操作系统的服务器,要移植应用也是非常的麻烦的。         Docker镜像的设计,使得Docker得以打破过去【程序即应用】的观念。 透过镜像(images)将作业系统核心除外,运作应用程式所需要的系统环境,由下而上打包,达到应用程式跨平台间的无缝接轨运作

二、Docker历史

          Docker 公司位于旧金山,由法裔美籍开发者和企业家 Solumon Hykes 创立,其标志如下图所示。

有意思的是,Docker 公司起初是一家名为 dotCloud的平台即服务(Platform-as-a-Service, PaaS)提供商。         底层技术上,dotCloud 平台利用了 Linux 容器技术。为了方便创建和管理这些容器,dotCloud 开发了一套内部工具,之被命名为“Docker”。Docker就是这样诞生的!         2013年,dotCloud 的 PaaS 业务并不景气,公司需要寻求新的突破。于是他们聘请了 Ben Golub 作为新的 CEO,将公司重命名为“Docker”,放弃dotCloud PaaS 平台怀揣着“将 Docker 和容器技术推向全世界”的使命,开启了一段新的征程。         如今 Docker 公司被普遍认为是一家创新型科技公司,据说其市场价值约为 10 亿美元。Docker 公司已经通过多轮融资,吸纳了来自硅谷的几家风投公司的累计超过 2.4 亿美元的投资。几乎所有的融资都发生在公司更名为“Docker”之后。

虚拟机与镜像的区别虚拟机:

  • 像一台电脑
  • 隔离、需要开启多个虚拟机
  • 非常大
  • 开机需要几分钟

镜像:

  • 十分小巧
  • 启动运行镜像就可以
  • 小巧
  • 启动只需要几秒钟

三、Docker 能干嘛

之前的虚拟技术

虚拟机技术缺点:

  • 资源占用十分多
  • 冗余步骤多
  • 启动很慢!
  • 容器化技术

    比较Docker和虚拟机技术不同:

  • 传统虚拟机,虚拟出一条硬件,运行一个完整的操作系统,然后在这个系统上安装运行软件
  • 容器内的应用直接运行在宿主机的内容,容器是没有自己的内核的,也没有虚拟我们的硬件,所以就轻便了。
  • 每个容器键是互相隔离,每个容器内都有一个属于自己的文件系统,互补影响。
  • 应用更快的交付部署传统:一个帮助文档,安装程序。Docker:打包镜像发布测试一键运行。更便捷的升级和扩容使用了Docker字后,我们部署应用就和搭积木一样 项目打包为一个镜像,扩展服务器A!服务器B更简单的系统运维在容器化后,我们的开发,测试化劲都是高度一致更高效的计算利用Docker 是内核级别的虚拟化,可以在一个物理机上可以运行很多的容器!服务器的性能可以被压榨到极致。

    四、Docker安装

    4.1 Docker基本组成部分

    镜像(image):docker镜像就好比一个模板,可以通过这模板来创建服务,tomcat镜像 ==> run ==>tomcat01容器(提供服务)通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中的)。容器(container):Docker利用容器技术,独立运行一个或者一个组应用,通过镜像来创建的 启动,停止,删除等基本命令。目前就可以吧这个容器理解为就是一个简易的Linux系统。仓库(repository):仓库就是存放镜像的地方!仓库分为公有仓库和私有仓库!

    4.2 环境准备

    最新的Docker 需要具备Linux Contos7以上的版本 在进行后续的操作。官方链接安装文档

    4.3 开始安装

  • 卸载旧的docker所依赖东西
  • yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
  • 安装需要安装包
  • yum install -y yum-utils yum install -y yum-utils
  • 安装镜像仓库
  • yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo #默认是国外的不推荐使用 #推荐使用阿里云的镜像仓库地址 yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo yum-config-manager \ --add-repo \ https://download.docker.com/linux/centos/docker-ce.repo #默认是国外的不推荐使用 #推荐使用阿里云的镜像仓库地址 yum-config-manager \ --add-repo \ http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 更新yum的软件包最新的索引
  • yum makecache fast yum makecache fast
  • 安装docker相关的 docker-ce社区 (常用) ee 企业
  • yum install docker-ce docker-ce-cli containerd.io yum install docker-ce docker-ce-cli containerd.io
  • 启动Docker
  • systemctl start docker # 查看是否启动成功 出现以下结构说明启动成功 [root@192 ~]# docker version Client: Docker Engine - Community Version: 19.03.13 API version: 1.40 Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:03:45 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.13 API version: 1.40 (minimum version 1.12) Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:02:21 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.3.7 GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683 systemctl start docker # 查看是否启动成功 出现以下结构说明启动成功 [root@192 ~]# docker version Client: Docker Engine - Community Version: 19.03.13 API version: 1.40 Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:03:45 2020 OS/Arch: linux/amd64 Experimental: false Server: Docker Engine - Community Engine: Version: 19.03.13 API version: 1.40 (minimum version 1.12) Go version: go1.13.15 Git commit: 4484c46d9d Built: Wed Sep 16 17:02:21 2020 OS/Arch: linux/amd64 Experimental: false containerd: Version: 1.3.7 GitCommit: 8fba4e9a7d01810a393d5d25a3621dc101981175 runc: Version: 1.0.0-rc10 GitCommit: dc9208a3303feef5b3839f4323d9beb36df0a9dd docker-init: Version: 0.18.0 GitCommit: fec3683
  • 测试docker   hello-world
  • docker run hello-world docker run hello-world

    8. 查看刚刚下载hello-word镜像

    [root@192 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 10 months ago 13.3kB [root@192 ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE hello-world latest bf756fb1ae65 10 months ago 13.3kB

    9.删除Docker

    #删除依赖 yum remove docker-ce docker-ce-cli containerd.io #删除资源 /var/lib/docker docker默认的工作目录 rm -rf /var/lib/docker #删除依赖 yum remove docker-ce docker-ce-cli containerd.io #删除资源 /var/lib/docker docker默认的工作目录 rm -rf /var/lib/docker

    4.3 使用阿里云的镜像加速器

    登录到阿里云 选择镜像服务

    执行以下内容

    sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <'EOF' { "registry-mirrors": ["https://t4bt9dhe.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <'EOF' { "registry-mirrors": ["https://t4bt9dhe.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker

    五、Docker运行流程


    在这里插入图片描述

    六、底层原理

    6.1 Docker是怎么工作的?

    • Docker 是一个Client -Server结构的系统,Docker的守护进程运行在主机上通过Socket 从客户端访问!
    • DockerServer接收到 Docker-Clinet,就会执行这个命令!

    6.2 Docker为什么比Vm快?

  • Docker 有着比虚拟机跟小的抽象层
  • Docker利用的是宿主机的内核,Vm需要时Guest OS。
  • 所以说,新建一个容器的时候,Docker不需要像虚拟机一样重行加载操作系统,避免引导。虚拟机是加载Cuest OS,分钟级别的,而Docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级。


    在这里插入图片描述

    7.总结

             到这里本篇文章基本上就结束了,总结一下本篇文章我们都学到了啥,了解了Docker,以及后面Docker能干啥,成功安装Doker,深度了解下Docker是怎样运行的,下期我们学习Docker的常用命令。我们下期见~~

      你可能想看:

      扫描二维码推送至手机访问。

      版权声明:本文由皇冠云发布,如需转载请注明出处。

      本文链接:https://www.idchg.com/info/21789.html

      分享给朋友:

      “docker运行java我的世界游戏 docker搭建我的世界服务器” 的相关文章