精华内容
下载资源
问答
  • yum list docker-ce --showduplicates | sort -r
  • 使用docker安装linux的同学都知道,你在docker提供的仓库安装linux系统,你就会体验到最精简的、最纯净的linux系统,当然,他会精简到你连ifconfig命令都需要自己配置,恰好对于我来说,这并不是我想要的。...

    概述

    使用docker安装linux的同学都知道,你在docker提供的仓库安装linux系统,你就会体验到最精简的、最纯净的linux系统,当然,他会精简到你连ifconfig命令都需要自己配置,恰好对于我来说,这并不是我想要的。如果我去使用VMware安装linux系统,但是我已经使用了docker,就不能使用vmware了,那么你就会问了,docker、vmware难道就不能同时使用?


    那么,我告诉你,是的。

    问题就出在这里,网上有大把文章谈及docker与vmware区别,但是很少有文章说明他们在windows上使用的虚拟技术的区别。

    当前 Docker 官方出品的 Windows 客户端, 叫做Docker Desktop for Windows.而其正常运行的条件之一是系统开启了 Hyper-V 虚拟化服务. 由上文知 Hyper-V 是 Type-1 的 Hypervisor, 这将使得像 VMware 等作为 Type-2 Hypervisor 的软件无法运行.
    此时矛盾已经出现: 使用 Hyper-V 技术的 Docker 客户端与其他 Type-2 Hypervisor 不能同时运行, 必须重启并关闭 Hyper-V 才能再次运行其他的 Type-2 Hypervisor 软件.

    摘自Windows 下 Docker 与 VMware 共存

    那么知道原因后,就要着手解决啊,不想使用docker和VMware来回切换,最初的蠢办法就是在另一个系统上(我装了双系统)使用vmware,在windows使用docker,反正虚拟机也只是在上课的时候用用,但是,回想一下不对啊,这样不就更麻烦了吗。

    回头一想,既然docker可以安装linux系统,那么我可不可以使用自己的镜像文件给导入进去呢?

    我将原来在docker中安装的linux系统导出,查看其内部构成,这不就是我们常见的那些linux文件吗。所以我只需要将原有的linux系统压缩成docker镜像文件,然后再导入docker,问题不都解决了吗。

    如果,你还没安装docker,见:值得学习的应用容器引擎docker安装

    壹:过程

    一、打包linux镜像

    打包linux系统就要做到精简,一些临时文件不需要,就不用打包,只需要将我们需要的东西打包就可以。使用以下命令,记得加sudo,将linux所有文件打包成system.tar,保存在tmp目录下,排除掉一些不需要的目录,不要将最后面有一个点给忘记了。

    tar -cvpf /tmp/system.tar --directory=/ --exclude=proc --exclude=sys --exclude=dev --exclude=run --exclude=boot .
    

    二、从linux系统中导出到物理机(windows)

    如果你有一个小伙伴,大可在他的电脑里的Vmware完成这第一、二步,然后使用ftp工具导出即可。

    打包之后,我将压缩包导出,因为我里面安装了hadoop、hbase、zookeeper、hive等一系列东西,他就是现在的2.57GB大小。

    请忽略这一段:(我是从deepin系统中将文件导出到windows中的,这里记录一下,方便自己以后使用,windows与linux双系统文件系统不共享,在windows中无法访问deepin的文件系统,但是在deepin中可以读取windows文件,不能写,那么我在deepin(linux)中的压缩包怎么弄到windows呢,这时候神器出场了,使用linux reader就可以实现在windows中读写deepin的文件系统,这东西很奈斯啊)

    三、导入到docker中

    在cmd中,导入刚刚压缩好的压缩包,这里你必须到system.tar所在目录,要不然,你直接加上system.tar的绝对路径,不然肯定会报错找不到该文件。

    docker import system.tar
    

    导入后使用docker images查看镜像,会有一个未命名,没有标签的镜像,这时候我们就需要给该镜像打上标签,方便日后使用及查看

    四、打标签

    使用docker tag命令为你的镜像打标签,后面接镜像id 以及仓库名:标签。

    docker tag [镜像id] linux/centos:hadoop
    


    到这一步,你已经成功了一大半,这时候镜像已经准备好了,就需要使用镜像运行一个容器了。

    五、运行容器

    使用以下命令运行你自己创建的镜像,注意后面的/bin/bash不能少。

    docker run -t -i [镜像id] /bin/bash
    

    测试 ,嗯,java还在,那么其他的都还在。

    那么,到现在大功就搞成了。

    贰:docker相关操作

    一、docker save

    将镜像文件保存为本地文件。

    Usage:  docker save [OPTIONS] IMAGE [IMAGE...]
    
    Save one or more images to a tar archive (streamed to STDOUT by default)
    
    Options:
      -o, --output string   Write to a file, instead of STDOUT
    
    例子:docker save -o mysql.tar mysql:latest
    

    二、docker import

    将容器导出为本地文件

    Usage:  docker export [OPTIONS] CONTAINER
    
    Export a container's filesystem as a tar archive
    
    Options:
      -o, --output string   Write to a file, instead of STDOUT
      
    例子:docker export -o mysql.tar
    

    三、docker load

    从本地读取镜像文件

    Usage:  docker load [OPTIONS]
    
    Load an image from a tar archive or STDIN
    
    Options:
      -i, --input string   Read from tar archive file, instead of STDIN
      -q, --quiet          Suppress the load output
    
    例子: docker load -i mysql.tar
    

    四、docker import

    从本地文件创建镜像

    Usage:  docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]
    
    Import the contents from a tarball to create a filesystem image
    
    Options:
      -c, --change list      Apply Dockerfile instruction to the created image
      -m, --message string   Set commit message for imported image
    
    例子:docker import mysql.tar
    

    建议:一般save、load组合使用,export、import组合使用。

    作者有话

    嗯,截止到我发这篇文章之前,我再次向他妥协了,原因是因为修改了docker中我导入的容器的内容时,重启后,他并不会生效,并且没有找到有用的方法解决,如果你有可以解决的方法,欢迎留言告诉笔者,笔者将感激不尽,不过这篇博客仍然可以作为我的笔记方便以后查看,最终我使用的方法是在需要使用虚拟机的时候关闭Hyper -v。

    1,如果用docker,
    第一步:在控制面板中勾选Hyper -v
    第二步:在cmd,以管理员身份运行:
    bcdedit /set hypervisorlaunchtype auto
    第三步;重启
    
    2,开启虚拟机linux
    第一步:在控制面板中取消勾选Hyper -v
    第二步:在cmd中,以管理员身份运行:
    bcdedit /set hypervisorlaunchtype off
    第三步;重启
    

    方法引用:docker和虚拟机不兼容问题

    展开全文
  • Linux系统下Docker版本与最新社区版本安装教程 博主:争取做视频流媒体界的Tony老师 1、Docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西...

    Linux系统下Docker老版本与最新社区版本安装教程

    博主:争取做视频流媒体界的Tony老师

    1、Docker是什么

    一款产品从开发到上线,从操作系统,到运行环境,再到应用配置。作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各种版本的迭代之后,不同版本环境的兼容,对运维人员都是考验。

    Docker之所以发展如此迅速,也是因为它对此给出了一个标准化的解决方案。环境配置如此麻烦,换一台机器,就要重来一次,费力费时。很多人想到,能不能从根本上解决问题,软件可以带环境安装?也就是说安装的时候,把原始环境一模一样地复制过来。 开发人员利用Docker可以消除协作编码时“在我的机器上可正常工作”的问题

    Docker的主要目标是“Build, Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分发、部署、运行等生命周期的管理,使用户的APP (可以是一个WEB应用或数据库应用等等)及其运行环境能够做到 “一次封装,到处运行”。

    好了,话不多说,下面开始我们docker的安装吧

    2、Docker安装

    2.1 Docker 1.13版本的安装

    2.1.1. 检查linux的内核版本

    由于 docker 对于 linux 的版本是有要求的,具体可以登入 docker 官方网址需要要求 CentOS 系统的内核版本高于 3.10的版本,基本CentOS 7以上的版本都满足要求,博主刚开始用 CentOS 6.10一直安装不上,真是难受的一批。因此我们首先需要检查系统的内核版本才可以,在命令行键入

    cat /etc/redhat-release
    

    从下图中可以看到博主的系统是linux 7.5以上的版本
    在这里插入图片描述
    2.1.2. 安装docker 1.13版本

    这里我们采用简单粗暴的安装方式进行docker的安装,我们在命令行键入

    yum -y install docker
    

    默认安装的版本就是1.13版本,安装完成会有如下提示
    在这里插入图片描述
    2.1.3. 查看是否已安装docker列表

    如果你并不清楚你是否安装成功了docker,可以在命令行中键入

    yum list installed | grep docker
    

    其中 yum list installed 这条指令告诉我们所有已经安装过的软件列表,我们就能在系统中找到相应的软件,如下所示:
    在这里插入图片描述
    2.1.4. 启动docker服务

    下面开始启动我们的docker服务,在命令行中键入

    systemctl start docker
    

    systemctl 表示设置系统服务,目前大多数 Linux 发行版本(CentOS 7以上)使用systemctl启动服务,如果不是那就尝试使用下service来启动,其中:
    systemctl指令

    启动 docker:systemctl start docker
    停止 docker:systemctl stop docker
    重启 docker:systemctl restart docker
    

    由于我的系统采用的是systemctl指令,因此我在执行启动后在命令行键入

    ps -ef | grep docker
    

    查询进程,结果是:
    在这里插入图片描述
    当然还可以采用 service 指令,不过对于CentOS 7 及其以上版本,service命令已经不是作为设置系统服务的命令了

    启动 docker:service docker start
    停止 docker:service docker stop
    重启 docker:service docker restart
    

    当然,我们还可以通过查询docker版本号来验证docker服务器是否启动,在命令行键入

    sudo docker version
    

    如果有以下情况:
    在这里插入图片描述
    也验证了安装的成功。
    至此,对于老版本的docker的安装过程博主已经分享完毕,下面开始分享最新社区版本的docker的安装。

    2.2 Docker 社区版本的安装

    由于刚刚安装了旧版本,为了保证在安装新版本过程中不出现错误,首先我们需要先将旧版本删除,当然,如果你是首次安装就直接安装最新社区版本可以忽略这一步骤。

    2.2.1 删除旧版本的docker服务
    2.2.1.1. 停止docker服务

    sudo systemctl stop docker
    

    2.2.1.2 查看当前版本安装的包

    sudo rpm -qa | grep docker
    

    会得到如下反馈,发现我们之前安装的docker包含3个安装包
    在这里插入图片描述
    2.2.1.3. 删除旧版本的支撑文件夹以及文件

    sudo yum remove docker
    sudo yum remove docker-client
    sudo yum remove docker-common
    

    之后再执行

    sudo rpm -qa | grep docker
    

    可以验证我们的安装包已经被删除。之后还要执行删除与docker相关文件夹的命令,包括删除以前已有的镜像和容器,一般存放在var目录下

    rm -rf /var/lib/docker 
    rm -rf /var/run/docker
    

    如果删除过程出现报错,那么容器类可以选择不删除,或者选择重启后再删除。

    2.2. 依赖软件包安装

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    

    2.3.添加yum源
    目前国内一些工具性的软件大多是国外人写的,由于众所周知的原因,网络下载很慢,为了提高下载速度,我们采用更新yum源的方法,通俗一点就是将我们国内的下载网址添加进软件库中,这样下载时候就会比较快
    命令如下:

    sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
    

    会得到如下反馈:
    在这里插入图片描述
    2.4 查看可安装的版本

    yum list docker-ce --showduplicates | sort -r
    

    这里可以选择我们需要下载的版本,默认情况下是最新的版本
    在这里插入图片描述
    2.5.安装最新版本

    默认下载最新版本的 docker

    sudo yum install docker-ce -y
    

    得到如下结果表示下载成功
    在这里插入图片描述
    2.6.启动

    社区版 docker 的启动以及常见指令都和老版本是一致的

    systemctl start docker
    

    检查是否安装了docker在这里插入图片描述
    查看 docker 的版本

    docker version
    

    在这里插入图片描述
    至此,博主就分享完两个版本 docker 的安装,觉得有帮助的小伙伴麻烦点个赞留下个评论吧,谢谢!

    谢谢大家的阅读,如有什么建议,可以添加博主微信FANXIAOlin158,一起探讨!

    博主原创申明:转载希望标注出处

    展开全文
  • Docker 版本及内核兼容性选择

    千次阅读 2020-09-22 11:56:29
    这是本课程的第一部分:Docker 入门,共 3 节,帮助大家进入 ...Docker版本历程 快速迭代期 在第一节,我们已经知道 Docker 是在 2013 年首次亮相,在 2014 年 6 月 9 日发布了 1.0.0 版本;直到 2017 年,Dock...

    这是本课程的第一部分:Docker 入门,共 3 节,帮助大家进入 Docker 的世界。上一节,我带大家了解了 Docker 入门的基础知识,知道了如何运行和操作容器。下面我们一起进入第三节的内容。

    Docker 的版本历程

    快速迭代期

    在第一节,我们已经知道 Docker 是在 2013 年首次亮相,在 2014 年 6 月 9 日发布了 1.0.0 版本;直到 2017 年,Docker 的版本号都是 X.Y.Z 这样的格式。差不多每 2~3 个月会升一次 Y 的版本号,比如:1.3.0 是 2014 年 10 月发布的,1.4.0 则是 2014 年 12 月发布。

    2017 年 2 月 8 日 Docker 发布了 1.13.1 版本,这是 最后一个 以 X.Y.Z 格式命名的版本了。

    在这个阶段,Docker 在主流 Linux 发行版上的安装包一般叫做 docker、docker-engine 或 docker.io,所以现在如果你需要安装新版本 Docker 的话,如果你已经安装了上述包中的任何一个,一般会建议你先删除掉。

    同年 Docker 宣布将原 GitHub 上开源的 Docker 项目 更名为 Moby,这次更名之后,产生了几个重要的变化:

    展开全文
  • 1.关于centos7安装docker的文章比较多,但是按照这些教程往往不能正常运行docker,造成问题的主要是版本兼容问题,centos7.x及6.x很多操作系统跟最新的docker版本(至少截止2019年)不兼容。 因此,必须指定安装...

    突出问题

    1.关于centos7安装docker的文章比较多,但是按照这些教程往往不能正常运行docker,造成问题的主要是版本不兼容问题,centos7.x及6.x很多操作系统跟最新的docker版本(至少截止2019年)不兼容。

    因此,必须指定安装兼容当前操作系统版本的docker。

    2.在安装docker 时,报错 container-selinux >= 2.9, container-selinux无法直接用yum进行安装

    安装过程

    1. 通过 uname -r 命令查看当前操作系统内核版本,docker要求CentOS7的内核版本高于 3.10

    uname -r

    2.删除旧版本的docker

    sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-selinux \
                      docker-engine-selinux \
                      docker-engine

    3.安装一些必要的系统工具

    sudo yum install -y yum-utils device-mapper-persistent-data lvm2

    4.添加国内docker源

    sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    5.更新 yum 缓存:

    sudo yum makecache fast

    6.指定想要安装的版本,此时可使用如下命令列出当前可用的Docker版本。

    sudo yum list docker-ce.x86_64  --showduplicates | sort -r

    7.可使用如下命令,安装想要安装的Docker CE版本。

    sudo yum install -y docker-ce-17.12.1.ce

    8.安装时可能会出现以下错误

    Error: Package: docker-ce-17.12.1.ce-1.el7.centos.x86_64 (docker-ce)
               Requires: container-selinux >= 2.9
     You could try using --skip-broken to work around the problem
     You could try running: rpm -Va --nofiles --nodigest

     

    container-selinux >= 2.9 

    这个报错是container-selinux版本低或者是没安装的原因

    yum 安装container-selinux 一般的yum源又找不到这个包

    需要安装epel源 才能yum安装container-selinux

    然后在安装docker-ce就可以了。

    wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo  
    
    yum install epel-release  
    
    yum install container-selinux
    
    sudo yum install -y docker-ce-17.12.1.ce

    9.启动 Docker 后台服务

    sudo systemctl start docker

    10.验证docker版本

    [root@master ~]# docker version
    Client:
     Version:       17.12.1-ce
     API version:   1.35
     Go version:    go1.9.4
     Git commit:    7390fc6
     Built: Tue Feb 27 22:15:20 2018
     OS/Arch:       linux/amd64
    
    Server:
     Engine:
      Version:      17.12.1-ce
      API version:  1.35 (minimum version 1.12)
      Go version:   go1.9.4
      Git commit:   7390fc6
      Built:        Tue Feb 27 22:17:54 2018
      OS/Arch:      linux/amd64
      Experimental: false
    [root@master ~]# rpm -qa docker*
    docker-ce-17.12.1.ce-1.el7.centos.x86_64

    11.运行hello-world

    [root@master ~]# docker run hello-world
    Unable to find image 'hello-world:latest' locally
    latest: Pulling from library/hello-world
    1b930d010525: Pull complete 
    Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
    Status: Downloaded newer image for hello-world:latest
    
    Hello from Docker!
    This message shows that your installation appears to be working correctly.
    
    To generate this message, Docker took the following steps:
     1. The Docker client contacted the Docker daemon.
     2. The Docker daemon pulled the "hello-world" image from the Docker Hub.
        (amd64)
     3. The Docker daemon created a new container from that image which runs the
        executable that produces the output you are currently reading.
     4. The Docker daemon streamed that output to the Docker client, which sent it
        to your terminal.
    
    To try something more ambitious, you can run an Ubuntu container with:
     $ docker run -it ubuntu bash
    
    Share images, automate workflows, and more with a free Docker ID:
     https://hub.docker.com/
    
    For more examples and ideas, visit:
     https://docs.docker.com/get-started/
    
    

     

    展开全文
  • Docker 更新版本

    2019-09-21 00:03:10
    Docker 更新版本 原来版本 1.10 更新后的版本 19.03.1 更新 Docker 版本需要注意的问题: 注意系统是否支持新版本的储存驱动。 19.03.01 版本默认使用的储存驱动是 overlay2。 overlay2 存储驱动使用需要满足以下...
  • 相关资料链接:先清空下“历史”yum remove docker \docker-common \docker-selinux \docker-engine安装必要的包yum install -y yum-utils \device-mapper-persistent-data \lvm2添加docker-ce.repoyum-config-...
  • Docker Images 版本选择

    千次阅读 2020-05-14 21:43:54
    Docker Images 版本选择 如何选择 Docker 基础镜像 背景 ​ Docker 镜像都是基于基础镜像构建出来的, 当我们构建容器化服务中选择基础镜像越高级,我们需要做的底层工作就越少,但这样会带来一个思考????, 我们容器化...
  • Docker 粉们,是否还记得上一个 Docker版本的发布是什么时候?你的记忆是否已经模糊?答案是: 10 月 14 号在中国春节即将到来之际,Docker 官方发布了跨时代的 Docker 1.10.0 版本,着实为猴年的到来献上了一份...
  • docker1.7为低版本linux系统,包括redhat6.5等,docker1.7为低版本linux系统,包括redhat6.5等,docker1.7为低版本linux系统,包括redhat6.5等
  • Docker 1.10版本发布

    2017-09-22 10:38:00
    本文讲的是Docker 1.10版本发布,【编者的话】Docker 1.10于二月初发布了,这是容器社区最近的重大事件,除了修复很多bug和功能增强之外,Docker1.10还引入了几个我们一直期待的重大改进和特性。在本文中我将会着重...
  • 前面尝试使用基础依赖镜像java:8(FROM java:8)直接构建java springboot项目镜像,发现一个简单的REST接口的springboot服务,生成的镜像竟然高达667M; REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/http-s...
  • centos7.9(内核3.10)安装了docker19.03的离线版本,才发现版本兼容,于是只好卸载这个版本docker,清理离线安装的docker主要有如下步骤: 本文只针对于通过解压安装包的方式进行docker的清理和卸载 停止docker...
  • 一,如何下载Docker指定版本? ## 查看yum源中所有的Docker版本 yum list docker-ce --showduplicates|sort -r 这里我用的阿里云yum源,我要19版本的,所以命令如下 yum install -y docker-ce-19.03.13 二,为何...
  • Docker 自动化构建,为数据容器提供最小的 Docker 镜像,与 Docker Compose 兼容。 基本原理 纯数据容器不需要 Linux 发行版。 它只需要一个可执行文件来启动容器。 是完美的 Docker 镜像。 它提供了/true可执行...
  • 使用 yum 安装(CentOS 7下)二、版本升级步骤安装docker命令执行1.执行安装docker命令2.解决的办法:3.启动 Docker 服务4.测试安装是否成功 一、前言 docker 相对而言,Linux 上安装 Docker 是最容易的,其次是 Mac...
  • docker版本升级

    千次阅读 2017-03-01 11:56:19
    今天为了使用docker-compose里...操作系统是CentOS Linux release 7.2.1511 (Core), docker原来的版本是1.9.1,升级到最新版本1.13.1. 升级过程如下: 首相获取最新版本,打开https://get.docker.com/builds/页面,
  • [转帖]Docker 更新版本 以及 data-root

    千次阅读 2019-10-02 11:50:13
    Docker 更新版本 https://www.cnblogs.com/operationhome/archive/2019/08/11/11322150.html 园友说 docker 使用了 data-root的 来进行处理了 这边简单百度了下 以后 需要及时更新自己的知识库呢. 感谢原...
  • 首先说明, 本文所说架构如下在Ubuntu上安装Docker,在Docker上安装CentOS,在CentOS上安装宝塔面板值得一提的是, 在CentOS 8.x上安装Docker会出现兼容性问题, 本文以Ubuntu为例Step1安装好UbuntuStep2以root登录Ubuntu...
  • Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业 版),我们⽤社区版就可以了 Ubuntu环境下的安装 Docker安装参考链接: ...
  • 连接Docker启动的mysql出现:ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded ERROR 2059 (HY000): Authentication plugin 'caching_sha2_password' cannot be loaded: ÕÒ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,125
精华内容 6,450
关键字:

dockerlinux版本兼容

linux 订阅