docker的安装及常用命令
一:概述
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows 机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口。
- DockerClient客户端
- Docker Daemon守护进程
- Docker Image镜像
- 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的安装及常用命令的更多相关文章
- windows下docker的安装及常用命令学习
docker search 镜像名 本文主要介绍Docker在Windows下的安装.关于Docker的介绍和文档在其官网中可以找到:http://www.docker.com .安装环境:Windo ...
- 【Docker】docker的安装和常用命令
一.docker安装和启动 1.yum 命令 yum install docker 2.docker启动命令 sudo systemctl start docker 二.docker常用命令 dock ...
- ios开发环境配置及cordova安装与常用命令
一.ios开发环境配置 1.首先要有台Mac Book,如果有Mac Book,跳过步骤2.3.4,如果没有,执行步骤2.3.4: 2.下载并安装VMware Workstation,最好是下最新版本 ...
- Git安装以及常用命令(图文详解)
**Git安装以及常用命令** 1.下载安装Git,傻瓜式安装相信大家都会. 官网下载地址:[https://git-scm.com/downloads] 2.Git基本操作 (1)git --ver ...
- linux基础学习之软件安装以及常用命令
linux基础学习之软件安装以及常用命令 调用中央仓库: yum install wget 然后下载nodejs: wget https://nodejs.org/dist/v10.14.2/node ...
- Git安装和常用命令
Git是目前世界上最先进的分布式版本控制系统!!! Git能自动帮我们记录每次文件的改动,还可以让同事协作编辑. 接下来,简单的介绍下Git的安装和常用命令: Git安装: 1.Windows系统,进 ...
- RabbitMQ入门教程(一):安装和常用命令
原文:RabbitMQ入门教程(一):安装和常用命令 版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn ...
- 记录redis安装及常用命令
Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...
- 实验 1 Linux 系统的安装和常用命令
实验 1 Linux 系统的安装和常用命令 (题目) 一.实验目的 (1)掌握 Linux 虚拟机的安装方法.Spark 和 Hadoop 等大数据软件在 Linux 操作系统 上运行可以发挥最佳性能 ...
随机推荐
- 大数据之路week01--自学之面向对象java(static,this指针(初稿))
函数的重载 返回值不一样会报错 java中,如果自己定义了构造函数的话,它就不会给你默认一个无参函数 如果一个属性,只进行定义,不初始化,自动补0,如果是一个布尔属性,默认是false但是如果一个局部 ...
- 最新JetBrains PyCharm 使用教程--创建或导入项目(二)
Python简介 Python是一种非常流行的开源编程语言.得益于无尽的模块选项,Python今天广泛用于脚本语言.Web开发.移动和桌面在许多领域.随着人工智能的复兴,数据科学的崛起,Python更 ...
- html5基本页面
html5基本页面 <!DOCTYPE html> <html lang="en"> <head> <meta charset=" ...
- getClass()和instanceof以及类的equals方法
在比较两个类时,常见有两种做法,一种是x.getClass() == y; 一种是x instanceof y,下面我们来比较这两种做法的区别. getClass()返回一个对象所属的类 public ...
- Weblogic 12c 的 Apache HTTP Server 整合插件(Plug-In)下载地址
资料来源:到哪里下载Weblogic 12c 的Plug-In 为 Apache HTTP Server 摘录如下: 最新的Weblogic 12c不再为 Apache HTTP Server提供缺省 ...
- C++中对C的扩展学习新增语法——内联函数以及函数参数
内联函数以及函数参数 内联函数 使用 inline 关键字必须和函数体放在一起. 内联函数具有内部链接属性. 内联函数会被编译器在编译阶段替换到函数调用的地方. 可以把内联函数定义写到头文件中,多个c ...
- PHP Laravel 队列技巧:Fail、Retry 或者 Delay
当创建队列jobs.监听器或订阅服务器以推送到队列中时,您可能会开始认为,一旦分派,队列工作器决定如何处理您的逻辑就完全由您自己决定了. 嗯……并不是说你不能从作业内部与队列工作器交互,但是通常情况下 ...
- SpringSecurity系列之自定义登录验证成功与失败的结果处理
一.需要自定义登录结果的场景 在我之前的文章中,做过登录验证流程的源码解析.其中比较重要的就是 当我们登录成功的时候,是由AuthenticationSuccessHandler进行登录结果处理,默认 ...
- Appium+python自动化(四十一)-Appium自动化测试框架综合实践 - 即将落下帷幕(超详解)
1.简介 今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现.到今天为止,大功即将告成:框架所需要的代码实现都基本完成. 2.data数据封装 2.1使用背景 在实际项目过程 ...
- 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 ...