1.安装docker

检查有没有curl

which curl

如果没有用以下命令可安装:sudo apt-get install curl

通过官方提供的脚本安装最新docker

curl -sSL https://get.docker.com | sh

检测docker是否安装成功:sudo docker run hello-world 如果成功将显示:Hello from Docker!.......

当然你也可能跟我一样,遇到错误:docker: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.

执行:sudo service docker start启动docker服务再运行就可以看到效果了

在国内访问镜像仓库还是很慢的,可以使用阿里云提供的加速器,执行以下命令就可以了:

curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -
具体可访问:https://dev.aliyun.com/search.html

在docker中有几个重要的概念:镜像和容器、数据卷

镜像:就像是虚拟机的快照,它很小很小,可以通过镜像创建容器,它是一个静态的概念,镜像拥有唯一ID,以及一个供人阅读的名字和标签对。镜像可以命名为类似ubuntu:latest、ubuntu:precise、django:1.6、django:1.7等等。

容器:就是我们程序真正运行的地方,可以把容器看作是虚拟机,但这个比喻并不恰当,因为容器占用资源特别小,容器里可以运行多个进程,但最好是一个容量里只运行一个进程,因为容器的本质是用来隔离进程环境的依赖的。在容器结束运行后,容器将会还原至容器原来的状态,也就是在容器运行过程中所做的修改大部分会被还原,但不是所有的都被还原,如数据卷等。容器也有一个唯一的ID和一个供人阅读的名字。

数据卷:前面说到容器在终止运行后会还原到原来的状态,而数据卷就是用来保存那些不要被还原的东西,如状态,程序运行中产生的数据等,他会永久保留除非被主动删除。数据卷保存在宿主计算机上,你可以指定他的目录,或使用默认路径。

列出你的镜像:docker images

从镜像上创建一个容器:docker run --rm -ti ubuntu /bin/bash

  如果你本地没有此镜像docker会从registry上下载此镜像

  --rm是指docker运行的进程一查结束,就删除容器

  -ti 是指分配一个伪终端并进入交互模式

  ubuntu就是你要创建容器所基于的镜像

  /bin/bash是要运行的命令

  在运行run命令时,可以指定链接,卷,端口等

2.docker info显示docker的信息

3.sudo docker pull busybox 下载busybox镜像,busybox是一个最小的linux系统

4.sudo docker run busybox /bin/echo hello 运行busybox

5.docker help显示帮助

6.docker stop $sample_job停止

7.docker restart $sample_job 重新启动容器

8.docker rm $sample移除容器

9.docker commit $sample_job job1 将容器的状态保存为镜像

10.docker images 显示所有镜像

11.docker history (image_name)查看镜像的历史版本

12.docker attach container

  与运行中的容器交互,并观察容器内进程的运行状况,退出容器可用:CTRL+C或CTRL+/(会显示进程堆栈)

13.docker diff container

  列出容器内发生的变化文件和目录,变化包括:A=add D=delete C=change

14.docker events

  打印容器实时系统事件

15.docker import <url>

  导入远程文件,本地文件和目录

16.docker export

  容器的系统文件打包成tar文件

17.docker cp container:path hostpath

  从容器内复制文件到宿主机器的指定目录

18. docker inspect container/image

  收集容器和镜像的底层信息,如:

  容器实例的IP

  端口绑定列表

  特定端口映射的搜索

  收集配置的详细信息

19.docker kill [options] container

  发送SIGKILL信号来停止容器的主进程

20.docker rmi image

  移除一个或多个镜像

docker基本用法和命令的更多相关文章

  1. 学习Docker之Dockerfile的命令

    使用Dockerfile去构建镜像好比堆积木.使用pom去构建maven项目一样,有异曲同工之妙,下面就把Dockerfile中主要的命令介绍一下. 组成部分 部分 命令 基础镜像信息 FROM 维护 ...

  2. Docker 安装与常用命令

    目录 Docker 安装 1)安装 2)启动 3)镜像加速器 Docker 常用命令 1)Docker 进程相关命令 2)Docker 镜像相关命令 docker search:查找镜像仓库中的镜像 ...

  3. Docker镜像与容器命令(转)

    Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的.可移植的.自给自足的容器.开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机).bare metal. ...

  4. [转]Docker(三):Dockerfile 命令详解

    本文转自:https://blog.csdn.net/ityouknow/article/details/79600406 上一篇文章Docker(二):Dockerfile 使用介绍介绍了 Dock ...

  5. [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数

    [js高手之路]深入浅出webpack教程系列索引目录: [js高手之路]深入浅出webpack教程系列1-安装与基本打包用法和命令参数 [js高手之路]深入浅出webpack教程系列2-配置文件we ...

  6. centos7下安装docker(17docker监控---docker自带监控命令)

    Docker自带的监控子命令 1.docker ps:docker ps -a这是我们常用的查看容器状态的命令 docker  container ls和docker ps的功能一样 2.docker ...

  7. Docker(三):Dockerfile 命令详解

    上一篇文章Docker(二):Dockerfile 使用介绍介绍了 Dockerfile 的使用,这篇文章我们来继续了解 Dockerfile ,学习 Dockerfile 各种命令的使用. Dock ...

  8. Docker 入门指南——常用命令

    前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...

  9. Docker(4):Dockerfile命令一览

    1.FROM 指定基础镜像 FROM 指令用于指定其后构建新镜像所使用的基础镜像.FROM 指令必是 Dockerfile 文件中的首条命令,启动构建流程后,Docker 将会基于该镜像构建新镜像,F ...

随机推荐

  1. mysql5.5的安装配置

    1.wget http://120.52.72.23/cdn.mysql.com/c3pr90ntc0td//Downloads/MySQL-5.5/mysql-5.5.50-linux2.6-x86 ...

  2. 第一次广搜!HDU1548--A Strange Lift

    一上来看见题目就用了深搜(因为只会深搜)果断内存超限(据说时间也会超限)无奈只好开始用广搜 其实广搜的思路和深搜有很多类似的地方 不过实现的过程中用到了队列 因此有点难以理解(好吧我个人认为) 这题是 ...

  3. response.setContentType()的String参数及对应类型(转)

    response.setContentType(MIME)的作用是使客户端浏览器,区分不同种类的数据,并根据不同的MIME调用浏览器内不同的程序嵌入模块来处理相应的数据. 例如web浏览器就是通过MI ...

  4. 解决VMware Workstation虚拟机不能联网的解决办法

    在windows服务中查看,以下几个服务是否正常开启,没有就开启

  5. 2017-2018-2 20165330实验二《Java面向对象程序设计》实验报告

    实验内容 初步掌握单元测试和TDD 理解并掌握面向对象三要素:封装.继承.多态 初步掌握UML建模 熟悉S.O.L.I.D原则 了解设计模式 实验步骤 (一)单元测试 三种代码 伪代码:从意图层面来解 ...

  6. Tornado @tornado.gen.coroutine 与 yield

    在使用 Tornado 的过程中产生了以下疑问: 什么时候需要给函数增加 @tornado.gen.coroutine 什么时候调用函数需要 yield @tornado.gen.coroutine ...

  7. qt model view 编程总结

    看不见的root的 QModelIndex() 是 无效的 list 和table 的index 函数中的parent参数就只要 root QModelIndex 就可以,因为没有层级概念 Model ...

  8. Zipline Trading Calendars

    Trading Calendars What is a Trading Calendar? 什么是交易日历? A trading calendar represents the timing info ...

  9. MySQL和时间戳有关的函数

    1. MySQL 获得当前时间戳函数:current_timestamp, current_timestamp()mysql> select current_timestamp, current ...

  10. 网络编程 - UDP协议

    UDP协议 服务端 ''' UDP 协议 又称 数据报协议 SOCK_DGRAM ''' from socket import * # 一般不这样做 会重名 但写socket可以这样写 因为要用到太多 ...