一:概述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。

一个完整的Docker有以下几个部分组成:
  1. DockerClient客户端
  2. Docker Daemon守护进程
  3. Docker Image镜像
  4. Docker Container容器

而容器技术的核心有以下几个内核技术组成:

1.cgroups            资源管理(限制空间大小)

2.Namespace       进程隔离

3.SElinux              安全

下面有一张docker容器技术和传统虚拟化技术的对比图,很清楚的看见docker之所以比传统虚拟化速度要快,是因为docker没有操作系统

可以理解为就是一个程序(不占内存,cpu,速度快)这也是和传统虚拟化最大的区别

docker也有自己的缺点

1.容器的隔离性没有虚拟化强

2.共用Linux内核,安全性有先天缺陷

3.selinux难以驾驭

4.监控容器和容器排错

二:安装要求

1.64位操作系统

2.至少RHEL6.5版本以上,个人强烈建议RHEL7.0版本

3.关闭防火墙(不是必须)

4.内核版本必须是3.10以上,可以通过  uname -r   命令检查内核版本

三:安装docker

1.已经安装过docker的,需要进行卸载

命令:yum -y remove docker   docker-client   docker-client-latest  docker-common   docker-latest  docker-latest-logrotate  docker-logrotate  docker-selinux   docker-engine-selinux  docker-engine

因为我是新建的虚拟机,并没有安装docker历史

2.安装docker依赖包

命令:yum -y install yum-utils device-mapper-persistent-data lvm2

有两种方法下载docker源,一种是官方,一种是阿里云,个人建议使用阿里云

命令:cd /etc/yum.repos.d/

官网地址: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

3.正式安装docker

命令:yum -y  install docker-ce

4.启动docker以及测试

命令:systemctl start docker      #启动docker

测试:docker run hello-world

执行命令docker后,如果与下图内容一致 则表示成功

或者输入ip  a (ifconfig)会出现如下图,也是安装成功

Docker环境信息

--info命令       用于检测Docker是否正确安装,一般结合docker version命令使用。   --version命令

镜像常用列表

docker  images          查看镜像列表                例:   docker   images

docker  history           查看镜像制作历史         例:   docker   history   docker.io/centos

docker  inspect          查看镜像底层信息         例:    docker  inspect   docker.io/centos

docker pull                下载镜像                        例:     docker pull centos                                例:  docker pull seanlook/centos:centos6

docker  push              上传镜像            例:      docker push seanlook/mongo

docker  rmi                删除本地镜像                例:     docker  rmi    docker.io/centos

docker  save            镜像另存tar包导出镜像    例:     docker  save  docker.io/busybox:latest -o busybox.tar  (导出镜像到busybox.tar里)

docker    load          导入镜像                           例:     docker load -i nginx.tar

docker   search         搜索镜像       例:     docker     search     docker.io/centos

docker   tag               修改镜像名称和标签       例:  docker   tag    docker.io/centos:latest    cen:v1        把镜像名称docker.io和标签latest  改成cen:v1       latest为默认标签

容器常用列表

docker  run    运行容器         例:docker run -itd --name tem  centos:latest

it:是直接使用,一旦退出,容器自动关闭        itd:是放在后台运行        --name 容器名      centos:latest  镜像

docker  ps    查看正在运行的容器     docker  ps  -a  查看所有容器列表     docker  ps  -aq   仅显示容器id

docker  stop          关闭容器         查看运行的容器id然后关闭   例: docker   stop   b8f

docker   start   开启容器      同上  

docker  restart  重启容器     同上

docker  attach/exec    进入容器      attach 进入容器后exit退出会导致容器关闭       exec进入容器退出时不会关闭容器     docker    attach   b8f2

docker  inspect    查看容器底层信息      docker   inspect   b8f

docker   top         查看容器进行列表           docker  top      b8f2

docker  rm        删除容器        docker   rm    b8f2          容器运行时删除会提示错误    要先关闭容器

端口映射   (使用doxker部署服务时需要做端口映射)

docker pull nginx  //如以下载好nginx  
docker run -p 8080:80 -d docker.io/nginx  //将80端口映射为8080,或者80:80还是原先的80端口,不可以不写
netstat -anp | grep 8080  //端口已经开启了
docker ps  //nginx已经在运行了

当docker运行nginx时,外界访问还是docker所在的那个IP地址,就相当于nginx在那台机器上运行一样
 


docker的安装及常用命令的更多相关文章

  1. windows下docker的安装及常用命令学习

    docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...

  2. 【Docker】docker的安装和常用命令

    一.docker安装和启动 1.yum 命令 yum install docker 2.docker启动命令 sudo systemctl start docker 二.docker常用命令 dock ...

  3. ios开发环境配置及cordova安装与常用命令

    一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...

  4. Git安装以及常用命令(图文详解)

    **Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...

  5. linux基础学习之软件安装以及常用命令

    linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...

  6. Git安装和常用命令

    Git是目前世界上最先进的分布式版本控制系统!!! Git能自动帮我们记录每次文件的改动,还可以让同事协作编辑. 接下来,简单的介绍下Git的安装和常用命令: Git安装: 1.Windows系统,进 ...

  7. RabbitMQ入门教程(一):安装和常用命令

    原文:RabbitMQ入门教程(一):安装和常用命令 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn ...

  8. 记录redis安装及常用命令

    Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...

  9. 实验 1 Linux 系统的安装和常用命令

    实验 1 Linux 系统的安装和常用命令 (题目) 一.实验目的 (1)掌握 Linux 虚拟机的安装方法.Spark 和 Hadoop 等大数据软件在 Linux 操作系统 上运行可以发挥最佳性能 ...

随机推荐

  1. 大数据之路week01--自学之面向对象java(static,this指针(初稿))

    函数的重载 返回值不一样会报错 java中,如果自己定义了构造函数的话,它就不会给你默认一个无参函数 如果一个属性,只进行定义,不初始化,自动补0,如果是一个布尔属性,默认是false但是如果一个局部 ...

  2. 最新JetBrains PyCharm 使用教程--创建或导入项目(二)

    Python简介 Python是一种非常流行的开源编程语言.得益于无尽的模块选项,Python今天广泛用于脚本语言.Web开发.移动和桌面在许多领域.随着人工智能的复兴,数据科学的崛起,Python更 ...

  3. html5基本页面

    html5基本页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...

  4. getClass()和instanceof以及类的equals方法

    在比较两个类时,常见有两种做法,一种是x.getClass() == y; 一种是x instanceof y,下面我们来比较这两种做法的区别. getClass()返回一个对象所属的类 public ...

  5. Weblogic 12c 的 Apache HTTP Server 整合插件(Plug-In)下载地址

    资料来源:到哪里下载Weblogic 12c 的Plug-In 为 Apache HTTP Server 摘录如下: 最新的Weblogic 12c不再为 Apache HTTP Server提供缺省 ...

  6. C++中对C的扩展学习新增语法——内联函数以及函数参数

    内联函数以及函数参数 内联函数 使用 inline 关键字必须和函数体放在一起. 内联函数具有内部链接属性. 内联函数会被编译器在编译阶段替换到函数调用的地方. 可以把内联函数定义写到头文件中,多个c ...

  7. PHP Laravel 队列技巧:Fail、Retry 或者 Delay

    当创建队列jobs.监听器或订阅服务器以推送到队列中时,您可能会开始认为,一旦分派,队列工作器决定如何处理您的逻辑就完全由您自己决定了. 嗯……并不是说你不能从作业内部与队列工作器交互,但是通常情况下 ...

  8. SpringSecurity系列之自定义登录验证成功与失败的结果处理

    一.需要自定义登录结果的场景 在我之前的文章中,做过登录验证流程的源码解析.其中比较重要的就是 当我们登录成功的时候,是由AuthenticationSuccessHandler进行登录结果处理,默认 ...

  9. Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)

    1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程 ...

  10. mysql提示Packet for query is too large (1142 > 1024)解决方案

    注:最近mysql一直提示如下错误 Packet for query is too large (1185 > 1024). You can change this value on the s ...