1:安装

在Linux上安装Docker,要求64位操作系统,并且内核版本需求为3.10以上,查看本机Linux内核版本:

[root@localhost ~]# uname -r
3.10.-327.4..el7.x86_64

安装参考资源:http://get.daocloud.io/#install-docker

下面采用二进制包安装方式:

[root@localhost ~]#
curl -fsSLO https://get.daocloud.io/docker/builds/Linux/x86_64/docker-17.05.0-ce.tgz
[root@localhost ~]#
tar --strip-components= -xvzf docker-17.05.-ce.tgz -C /usr/local/bin

启动Docker,并查看版本信息:

[root@localhost ~]# service docker start
Redirecting to /bin/systemctl start docker.service
[root@localhost ~]# docker -v
Docker version 1.12., build 1398f24/1.12.

在使用Docker时,需要使用Docker命令工具docker与Docker Daemon建立通信,Docker Daemon是Docker的守护进程,负责接收并分发执行Docker命令。

以上安装是在CentOS7.0上面进行,如果是Ubuntu14.04采用同样的方式安装,启动会报错:

root@hd-slave1:~# dockerd
WARN[] could not change group /var/run/docker.sock to docker: group docker not found
INFO[] libcontainerd: new containerd process, pid:
WARN[] containerd: low RLIMIT_NOFILE changing to max current= max=
WARN[] failed to rename /var/lib/docker/tmp for background deletion: %!s(<nil>). Deleting synchronously
INFO[] [graphdriver] using prior storage driver: aufs
INFO[] Graph migration to content-addressability took 0.00 seconds
WARN[] Your kernel does not support cgroup memory limit
WARN[] Unable to find cpu cgroup in mounts
WARN[] Unable to find blkio cgroup in mounts
WARN[] Unable to find cpuset cgroup in mounts
WARN[] mountpoint for pids not found
Error starting daemon: Devices cgroup isn't mounted

原因是cgroup在宿主机上没有挂载。

解决方法:

vim /etc/fstab
#在最后一行增加以下配置信息:
none /sys/fs/cgroup cgroup defaults

例如:

重启机器问题解决。

2:常用命令

Docker启动之后,就可以使用docke来创建与管理镜像了。

(1)docker run

docker run 命令用来基于特定的镜像创建一个容器,并依据选项来控制容器。docker run命令启动的容器会随机分配一个容器的ID,用以标识该容器。Docker run命令可以新建一个容器来运行,而对于已经存在的容器,可以通过docker start/stop/restart命令来启动、停止、重启。

例1:docker run –name java8 –it java:8 java –version,运行上面的指令,Docker将启动一个包含Java:8镜像的容器,如果本地没有这个Java:8镜像,将会从远程的镜像服务器中下载一个符合版本号的镜像,接着执行java –version指令打印其版本信息。

例2:docker run Ubuntu echo “Hello Docker”,运行上面的指令,Docker将从Ubuntu镜像中启动一个容器,并执行echo命令打印出Hello Docker,执行完命令后容器将停止运行。

[root@localhost ~]# docker run ubuntu echo "Hello,world"
Unable to find image 'ubuntu:latest' locally
Trying to pull repository docker.io/library/ubuntu ...
latest: Pulling from docker.io/library/ubuntu
e0a742c2abfd: Pull complete
486cb8339a27: Pull complete
dc6f0d824617: Pull complete
4f7a5649a30e: Pull complete
672363445ad2: Pull complete
Digest: sha256:84c334414e2bfdcae99509a6add166bbb4fa4041dc3fa6af08046a66fed3005f
Hello,world
[root@localhost ~]#

在选取启动容器的镜像时,可以在镜像名称后面增加tag来区分同名的镜像,如:ubuntu:14.04、ubuntu:last,如果用户未指定具体的tag,Docker将默认选取tag为latest的镜像。

(2)docker pull

主要用于从Docker registry中拉取image或repository。在Docker Hub中有许多即拿即用的镜像资源,通过docker pull命令可以有效的利用他们。

(3)docker images

通过docker images可以列出主机上的镜像,默认只列出最顶层的镜像,-a参数可以列出所有镜像。

Docker 安装使用的更多相关文章

  1. 理解Docker(1):Docker 安装和基础用法

    本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 ...

  2. docker安装

    系统要求:需要一个64位的centos7操作系统和版本3.10或更高版本的Linux内核 开始安装: uname -r   //查看内核版本yum -y update //更新系统更新到最新 #安装d ...

  3. 2. Docker - 安装

    一.Docker介绍 1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙 ...

  4. Docker 安装部署

    Docker学习笔记 一.Ubuntu Docker 安装 (1).获取最新版本Docker安装包 lyn@lyn:/data/docker$ sudo wget -qO- https://get.d ...

  5. docker 安装

    Docker使用了一种叫AUFS的文件系统,这种文件系统可以让你一层一层地叠加修改你的文件,最底下的文件系统是只读的,如果需要修改文件,AUFS会增加一个可写的层(Layer),这样有很多好处,例如不 ...

  6. Docker安装及基本使用方法

    Docker安装 CentOS6上安装Docker # yum -y install epel-release # yum -y install docker-io CentOS7上安装Docker ...

  7. Mac 下 docker安装

    http://www.th7.cn/system/mac/201405/56653.shtml Mac 下 docker安装 以及 处理错误Cannot connect to the Docker d ...

  8. docker安装caffe

    [最近一直想要学习caffe,但是苦苦纠结于环境安装不上,真的是第一步都迈不出去,还好有docker的存在!下面,对本人如何利用docker安装caffe做以简单叙述,不属于教程,只是记录自己都做了什 ...

  9. Docker安装Gitlab

    一.Ubuntu16.4上Docker安装Gitlab 1.安装docker 参见:https://docs.docker.com/engine/installation/linux/ubuntuli ...

  10. 使用docker安装部署Spark集群来训练CNN(含Python实例)

    使用docker安装部署Spark集群来训练CNN(含Python实例) http://blog.csdn.net/cyh_24/article/details/49683221 实验室有4台神服务器 ...

随机推荐

  1. spring---aop(7)---Spring AOP中expose-proxy介绍

    写在前面 expose-proxy.为是否暴露当前代理对象为ThreadLocal模式. SpringAOP对于最外层的函数只拦截public方法,不拦截protected和private方法(后续讲 ...

  2. 如何使用mysql存储树形关系

    最近遇到业务的一个类似文件系统的存储需求,对于如何在mysql中存储一颗树进行了一些讨论,分享一下,看看有没有更优的解决方案. 一.现有情况 首先,先假设有这么一颗树,一共9个节点,1是root节点, ...

  3. Git_解决冲突

    人生不如意之事十之八九,合并分支往往也不是一帆风顺的. 准备新的feature1分支,继续我们的新分支开发: $ git checkout -b feature1 Switched to a new ...

  4. [JAVA] JAVA 类路径

    Java 类路径 类路径是所有包含类文件的路径的集合. 类路径中的目录和归档文件是搜寻类的起始点. 虚拟机搜寻类 搜寻jre/lib和jre/lib/ext目录中归档文件中所存放的系统类文件 搜寻再从 ...

  5. cocos2d-x项目101次相遇:使用触摸事件移动 精灵

    cocos2d-x 101次相遇 / 文件夹  1   安装和环境搭建 -xcode  2   Scenes , Director, Layers, Sprites 3   建立图片菜单  4   在 ...

  6. SQLite 一款轻型的数据库

    SQLite,是一款轻型的数据库,是遵守ACID的关系型数据库管理系统,它包含在一个相对小的C库中.它是D.RichardHipp建立的公有领域项目.它的设计目标是嵌入式的,而且目前已经在很多嵌入式产 ...

  7. jquery实现回车键触发事件

    键盘事件有3: keydown,keypress,keyup,分别是按下,按着没上抬,上抬键盘 . 正确代码为: $(document).keyup(function(event){ if(event ...

  8. 使用Microsoft Unity进行日志记录

    需要记录日志的地方包括:进入方法的时候,传参的时候,统计执行时间,方法返回参数的时候,退出语句块的时候,出现异常的时候,等等.先来体验不使用Micirosoft Unity进行日志记录. class ...

  9. Moq的一些基本用法

    本篇体验Moq的一些基本用法.首先通过NuGet安装Moq.包括: 模拟方法的返回值 模拟方法后执行回调函数 模拟方法依次返回多个值 模拟第二次调用方法返回异常 直接返回被模拟方法的原始返回值 模拟泛 ...

  10. C#编程(八)--------- Main函数

    Main()方法. C#程序是以Main()开始执行的,这个方法必须是类或结构的静态方法,并且其返回类型必须是int或者void. 虽然显示指定public修饰符很常见,但是我们也可以把该方法标记为p ...