Docker

Docker

简介

  • Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
  • 容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

Docker支持将软件编译成一个镜像;然后在镜像中各种软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器,容器启动是非常快速的。类似windows里面的ghost操作系统,安装好后什么都有了;

Docker核心概念

概念 说明
docker镜像(Images) Docker 镜像是用于创建 Docker 容器的模板
docker容器(Container) 容器是独立运行的一个或一组应用
docker客户端(Client) 客户端通过命令行或者其他工具使用Docker
docker主机(Host) 一个物理或者虚拟的机器用于执行Docker守护进程和容器
docker仓库(Registry) Dockers仓库用来保存镜像,可以理解为代码控制中的代码仓库

Docker仓库地址

Centos安装Docker

  • 查看centos版本

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

    uname -r
    
  • 升级软件包及内核;

    yum update
    
  • 卸载旧版本的Docker

    Docker的旧版本叫做docker或者docker-engine。现在的Docker版本是Docker CE(社区版)和Docker EE(企业版)。一般情况下,咱们使用Docker CE(社区版)就可以了。如果你的系统安装了旧版本,卸载它们以及与它们相关的依赖

    yum remove docker \
        docker-client \
        docker-client-latest \
        docker-common \
        docker-latest \
        docker-latest-logrotate \
        docker-logrotate \
        docker-engine
    
  • 安装Docker

    如果你是在主机上第一次安装Docker CE,需要设置Docker的仓库。以后就可以从这个仓库安装和更新Docker了。

    • 设置仓库

      安装所需的包,yum-utils提供yum-config-manager工具,device-mapper-persistent-datalvm2devicemapper存储驱动所需要的

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

      设置稳定仓库

      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
      

    • 安装docker

      yum -y install docker-ce
      
    • 错误

      错误:
       问题: package docker-ce-3:19.03.5-3.el7.x86_64 requires containerd.io >= 1.2.2-3, but none of the providers can be installed
        - cannot install the best candidate for the job
        - package containerd.io-1.2.10-3.2.el7.x86_64 is excluded
        - package containerd.io-1.2.2-3.3.el7.x86_64 is excluded
        - package containerd.io-1.2.2-3.el7.x86_64 is excluded
        - package containerd.io-1.2.4-3.1.el7.x86_64 is excluded
        - package containerd.io-1.2.5-3.1.el7.x86_64 is excluded
        - package containerd.io-1.2.6-3.3.el7.x86_64 is excluded
      (try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
      
      • 问题分析

        containerd.io版本低导致

      • 解决方法

        安装高版本的containerd.io

        下载:

        wget https://download.docker.com/linux/centos/7/x86_64/edge/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm
        

        安装:

        yum -y install containerd.io-1.2.6-3.3.el7.x86_64.rpm
        

        重新安装docker

        yum -y install docker-ce
        
  • 启动docker

    systemctl start docker
    
  • 将dockers服务设为开机启动

    systemctl enable docker
    
  • 停止docker服务

    systemctl stop docker
    

卸载Docker

  • 卸载Docker包

    yum remove docker-ce
    
  • 镜像、容器、自定义配置文件等并不会随着Docker的卸载自动删除,执行如下命令

    rm -rf /var/lib/docker
    

docker常用操作命令

镜像操作

操作 命令 解释
检索 docker search 关键字<br />eg: docker search redis 查找docker仓库中相应镜像
拉取 docker pull 镜像名:tag :tag可选的,表示标签,多为软件的版本,默认是lasted(最新版)
列表 docker images 查看所有本地镜像
删除 docker rmi image-id 删除指定的本地镜像

容器操作

操作 命令 解释
运行 docker run --name container-name -d image-name -p port1:port2 容器运行<br />--name:自定义容器名称<br />-d:后台运行<br />-p:指定主机与容器端口映射<br />port1:主机端口<br />port2:镜像端口
列表 docker ps<br />docker ps -a 查看运行中的容器<br />-a:查看所有容器
停止 docker stop container-name/container-id 停止运行的容器
启动 docker start container-name/container-id 启动容器
删除 docker rm container-id 删除指定容器(容器必须在停止状态)
日志 docker logs container-name/container-id 查看指定容器执行日志
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,189评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,577评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,857评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,703评论 1 276
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,705评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,620评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,995评论 3 396
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,656评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,898评论 1 298
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,639评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,720评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,395评论 4 319
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,982评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,953评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,195评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,907评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,472评论 2 342

推荐阅读更多精彩内容

  • 基本命令 仓库相关操作 docker pull #从远程仓库拉取镜像到本地 docker push #推送...
    中v中阅读 6,541评论 5 181
  • Docker入门 Docker命令官方示例 [toc] 1. Docker架构 1.1 Docker镜像与Dock...
    CaiGuangyin阅读 1,835评论 2 6
  • 一、docker介绍 docker的优势 1、更高效的利用系统资源由于容器不需要进行硬件虚拟以及运行完整操作系统等...
    Mr_Du_Biao阅读 659评论 0 0
  • Docker值得关注的特性: o 文件系统隔离:每个进程容器运行在一个完全独立的根文件系统里。 o 资源隔离:系统...
    Anson前行阅读 773评论 0 2
  • 文/叶听雨 在咕噜噜森林里住着一只绿色的小乌龟。 小乌龟爱好游泳,整日呆在咕噜噜森林西边的小池塘里。 这一天,小乌...
    叶听雨阅读 1,350评论 20 20