虚拟化最大区别:虚拟化技术元件,资源申请调度到其他硬件服务器:

Docker是一个开源得应用容器引擎,让开发者可以打包他们得应用以及依赖包到一共可移植得容器中,然后发布到任何流行得linux机器上,也可以实现虚拟化。

容器之间互不影响,不需要任何语言

目的就是实现轻量级得操作系统虚拟化解决方案。

LXC负责资源管理 AUFS负责镜像管理得

LXC包括:cgroup、namespace、chroot

并通过cgroup进行资源管理

分三层: 最底层 cgroup ——》LXC对croup进行封装 ——》docker对 LXC进行封装

Docker:

镜像:模板,docker虚拟化基于系统、程序、静态得,不能修改如:iso文件不能直接修改

容器:称为docker虚拟机,基于镜像运行得实体(跑起来的镜像)

仓库:仓库是用于存放镜像得地方、公共仓库,私有仓库

启动docker 命令:service docker start

查看版本: docker version

查看有没有docker镜像:docker images

REPOSITORY  TAG  IMAGE ID   CREATED             SIZE

这样就是没有镜像

搜索镜像:docker search nginx

拉取(下载):docker pull docker.io/nginx 随意找一个就行 出现error错误解决办法:

Docker pull 出现的 error pulling image configuration: Get https://dseasb33srnrn.cloudfront.net/

 

vim /etc/sysconfig/docker

1
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false --registry-mirror=http://f2d6cb40.m.daocloud.io'

 

systemctl daemon-reload
systemctl restart docker

运行镜像:docker run -itd 后台交互运行

docker export 容器_id >centos7.tar 导出镜像

docker run centos echo  " hello word" #在docker容器中运行hello world

docker run centos yum install ntpdate #在容器中安装ntpdate的程序

docker ps -l 命令获取最后一个容器的 id

docker ps -a查看所有的容器

运行docker commit 提交刚修改的容器

PS: docker commit 2313132 centos:v1

docker run -itd centos(镜像名字) /bin/bash 在容器里启动一个/bin/bash shell 环境,可以登录进入操作

运行nginx镜像:docker run -itd docker.io/nginx

查看docker容器:docker ps -a

查看系统运行的虚拟机(docker虚拟机也被称为docker容器):docker ps

查看容器的磁盘分区:docker exec 加上容器_id  df -T

docker exec -it 容器_id /bin/bash #可以进入shell终端

docker  ps -aq只看容器_id号

删除容器:docker ps -aq|xargs docker rm -f

#一台宿主和docker容器做映射访问80端口(就是宿主的80端口映射到docker容器nginx的80端口上)

docker run -itd -p 80:80 docker.io/nginx

docker stop/start 容器_id

rz -y 导入到机器上 /home下

导入centos7.4镜像到docker容器:cat CentOS-7-x86_64-DVD-1708.tar |docker import - centos7.4

查看容器_ip:

docker inspect 31ffc523af74(容器id) |more

可以看到ipaddress:172.17.0.2之后 wget  172.17.0.2(只能在宿主机器上访问,外网不能访问)

可以看到 下载的index.html 就是nginx内容 可以  cat index.html查看

停掉所有容器:docker ps -a|xargs docker stop

进入容器终端:docker exec -it  容器_id  /bin/bash

nginx.htm 页面在容器的: cd /usr/share/nginx/htm

导出镜像到本地:docker save centos > /opt/centos.tar.gz

dock run --mydocker(容器名字) -it centos(镜像的名字) /bin/bash

# docker容器是单进程的,需要别的应用再启动一个容器就可以了

进入容器:nsenter

yum install -y util-linx 访问另一个进程名字空间

#查看docker容器进程的Pid: docker  inspect --format "{{.State.Pid}}" 123c9a32e08a

进入:nsenter -t 57931 -u -i -n -p

docker超级用户启动镜像: docker run -itd --privileged nginx

docker容器启动脚本:

删除一个停止的容器:--rm

这时创建容器会报错,因此需要修改/usr/lib/sysctl.d/00-system.conf

添加如下代码:net.ipv4.ip_forward=1

Docker——入门的更多相关文章

  1. 第三章 Docker 入门

    第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...

  2. Docker入门教程(九)10个镜像相关的API

    Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...

  3. Docker入门教程(八)Docker Remote API

    Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...

  4. Docker入门教程(七)Docker API

    Docker入门教程(七)Docker API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和 ...

  5. Docker入门教程(六)另外的15个Docker命令

    Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...

  6. Docker入门教程(五)Docker安全

    Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...

  7. Docker入门教程(四)Docker Registry

    Docker入门教程(四)Docker Registry [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它 ...

  8. Docker入门教程(三)Dockerfile

    Docker入门教程(三)Dockerfile [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第三篇,介绍了Dockerfile的语法,DockerOn ...

  9. Docker入门教程(二)命令

    Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...

  10. Docker入门教程(一)介绍

    http://dockone.io/article/101 Docker入门教程(一)介绍 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第一篇,介绍了 ...

随机推荐

  1. C,线程池

    /* 线程池组成: 1.管理者线程:创建并管理线程,包括添加.删除.销毁线程,添加新任务 2.工作线程:线程池中的线程,执行管理者分配的任务 3.任务接口:任务要实现的接口,供工作线程调用 4.任务队 ...

  2. UVA 1393 Highways,UVA 12075 Counting Triangles —— (组合数,dp)

    先看第一题,有n*m个点,求在这些点中,有多少条直线,经过了至少两点,且不是水平的也不是竖直的. 分析:由于对称性,我们只要求一个方向的线即可.该题分成两个过程,第一个过程是求出n*m的矩形中,dp[ ...

  3. Vue.js 生命周期、计算属性及侦听器

    一.创建一个Vue实例 每个Vue应用都是使用Vue函数创建一个Vue实例.所有的Vue组件都是一个Vue实例,并且接受相同的选项对象(一些根实例特有的选项除外). 数据和方法 当一个实例被创建后,它 ...

  4. python中selenium操作下拉滚动条方法

    场景:在当前显示的页面元素不可见,拖动下拉条后元素就出来了. 解决方法: 在python中有几种方法解决这种问题,简单介绍下,给需要的人: 方法一)使用js脚本直接操作,方法如下: #将页面滚动条拖到 ...

  5. kafka配置的问题排查

    问题反馈: xx现场测试环境下,整个平台的数据,除了原始数据模块,其他模块正常运行.相同版本的包,在线上环境上原始数据的订阅是正常的,但是测试环境没有,查看所有相关的日志,均没有报异常,且日志中有正常 ...

  6. Android系统服务 —— WMS与AMS

    “可以毫不夸张的说,Android的framework层主要是由WMS.AMS还有View所构成,这三个模块穿插交互在整个framework中,掌握了它们之间的关系和每一个逻辑步骤,你对framewo ...

  7. 如何快速查找到HTML头尾对应标签?

    在使用Atom编辑器整理HTML代码的时候,希望快速找到HTML头尾对应的标签.  ctrl+m 试试看 

  8. Matlab获取一个文件夹下所有文件名

    Matlab获取一个文件夹下所有文件名: fileFolder=fullfile('D:\MATLAB\bin\trc'); dirOutput=dir(fullfile(fileFolder,'*. ...

  9. easyUI之progressbar进度条

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <hea ...

  10. Event事件与协程

    1.Event事件 Event事件的作用: - 用来控制线程的执行. - 由一些线程去控制另一些线程. 2.进程池与线程池 1)什么是进程池与线程池? 进程池与线程池是用来控制当前程序允许创建(进程/ ...