docker 笔记(1) ——docker安装、获取镜像、启动容器、删除容器

一、安装

Docker 官方文档

根据官方文档整理简单流程

  1. 从Docker Hub下载mac包

  2. 运行磁盘镜像,将Docker复制到应用程序

  3. 在应用程序中找到Docker图标运行Docker

  4. docker运行状态可以在他系统状态栏看到

  1. 成功运行后可以在Terminal使用Docker了, 图示命令:docker version

二、命令

1、获取镜像

详细命令

docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]

使用 docker pull help 查看帮助

简单使用:

docker pull ubuntu:18.04

这段命令会自动到默认的docker Hub拉取 名字为ubuntu, 标签为:18.04的ubuntu系统镜像, 没有标签自动使用latest

命令执行完成后会出现类似:

$ docker pull ubuntu:18.04

18.04: Pulling from library/ubuntu
bf5d46315322: Pull complete
9f13e0ac480c: Pull complete
e8988b5b3097: Pull complete
40af181810e7: Pull complete
e6f7c7e5c03e: Pull complete
Digest: sha256:147913621d9cdea08853f6ba9116c2e27a3ceffecf3b492983ae97c3d643fbbe
Status: Downloaded newer image for ubuntu:18.04

以下摘抄地址:【分层存储】

  • 因为镜像包含操作系统完整的root文件系统,其体积往往是庞大的,因此在 Docker 设计时,就充分利用 Union FS 的技术,将其设计为分层存储的架构。 镜像只是一个虚拟的概念,其实际体现并非由一个文件组成,而是由一组文件系统组成,或者说,由多层文件系统联合组成。
  • 镜像构建时,会一层层构建,前一层是后一层的基础,删除前一层文件的操作,实际不是真的删除前一层的文件,而是仅在当前层标记为该文件已删除。在最终容器运行的时候,虽然不会看到这个文件,但是实际上该文件会一直跟随镜像。
  • 在构建镜像的时候,需要额外小心,每一层尽量只包含该层需要添加的东西,任何额外的东西应该在该层构建结束前清理掉。

镜像是由多层存储所构成。下载也是一层层的去下载,并非单一文件。下载过程中给出了每一层的 ID 的前 12 位。并且下载结束后,给出该镜像完整的sha256的摘要,以确保下载一致性。

2、以镜像为基础,启动并运行一个容器

docker run -it --rm ubuntu:18.04 bash

参数:

-it: 两个参数: -i 使用交互式操作, -t 终端启动

--rm: 在退出容器之后,删除容器

ubuntu:18.04:容器名称和标签

bash: 使用bash shell进入系统

已经运行的镜像,可以通过container查看

因为之前的运行使用了参数--rm, 会导致在exit后自动删除container, 所以在使用命令前,请新开一个terminal

$ docker container ls # 查看正在运行中的容器
$ docker container ls -a # 查看所有容器,包括正在运行&&停止运行的容器

3、停止容器

通过docker container ls 能查看到的容器, 可以通过停止容器命令 docker container stop <container_name>

由于之前的启动命令没有指定容器名称(container_name),可以使用docker随机分配的容器名进行操作。

这里分配的容器名称为:goofy_vaughan

$ docker container stop goofy_vaughan

除了使用名称,也可以使用CONTAINER_ID进行操作, 而且不需要输入全部字符4424419a386e ,只需要输入大于等于三个字符442并且能表明容器唯一就可以了。

4、删除容器

停止容器后容器并没有被删除,

使用:docker container ls 没有出现的容器,使用docker container ls -a查看到了,就说明容器被停止了,删除容器的命令:docker container rm <container_name>

同停止容器一样,container_name可以使用CONTAINER_ID代替

本文参考资料

Docker 官方文档

Docker — 从入门到实践

docker教程(1) - 快速使用的更多相关文章

  1. Docker教程:docker machine的配置和命令

    http://blog.csdn.net/pipisorry/article/details/50921335 安装virtualbox 如果要使用virtualbox,首先要安装virtualbox ...

  2. Docker教程:docker的概念及安装

    http://blog.csdn.net/pipisorry/article/details/50754385 Why docker 对于运维来说,Docker提供了一种可移植的标准化部署过程,使得规 ...

  3. 简明Docker教程

    Docker基础 这篇基础文章是方便用户在使用cSphere平台之前,了解docker基础知识. 针对已经有一定的Linux基础知识的用户. Docker是什么 Docker是一个改进的容器技术.具体 ...

  4. Spring_MVC_教程_快速入门_深入分析

    Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门  资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...

  5. Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考

    Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考 //System.setProperty("webdriver.firefox.bin" ...

  6. Docker环境 ELK 快速部署

    Docker环境 ELK快速部署 环境 Centos 7.4 , Docker version 17.12 Docker至少3GB内存: #内核配置 echo ' vm.max_map_count = ...

  7. Docker教程:dokcer machine的概念和安装

    http://blog.csdn.net/pipisorry/article/details/50920982 Docker machine介绍 做为Docker容器集群管理三剑客之一的Docker ...

  8. Docker教程:使用docker配置python开发环境

    http://blog.csdn.net/pipisorry/article/details/50808034 Docker的安装和配置 [Docker教程:docker的安装] [Docker教程: ...

  9. Docker 教程

    转自:http://www.runoob.com/docker/docker-tutorial.html Docker 教程

  10. docker教程之从一头雾水到不一头雾水(2)

    书接上文:docker教程之从一头雾水到不一头雾水(1) 运行镜像 先查看下本地有哪些镜像 [root@ichz ~]# docker images REPOSITORY TAG IMAGE ID C ...

随机推荐

  1. 12、生命周期-@Bean指定初始化和销毁方法

    12.生命周期-@Bean指定初始化和销毁方法 Bean的生命周期:创建->初始化->销毁 容器管理bean的生命周期 我们可以自定义初始方法和销毁方法,容器在bean进行到当期那生命周期 ...

  2. Catalan Number-卡特兰数入门

    卡特兰数 首先,我们设f(n)=序列个数为n的出栈序列种数.同时,我们假定,从开始到栈第一次出到空为止,这段过程中第一个出栈的序数是k.特别地,如果栈直到整个过程结束时才空,则k=n. 令h(0)=1 ...

  3. umeditor实现ctrl+v粘贴word图片并上传

    图片的复制无非有两种方法,一种是图片直接上传到服务器,另外一种转换成二进制流的base64码目前限chrome浏览器使用首先以um-editor的二进制流保存为例:打开umeditor.js,找到UM ...

  4. 转载:appium踩过的坑

    原文地址:http://blog.csdn.net/wirelessqa/article/details/29188665 自己的操作:由于在window上安装appium时,报各种错误:所以选择在u ...

  5. js 弹层下面的body禁止滚动

    弹窗是一种常见的交互方式,而蒙层是弹窗必不可少的元素,用于隔断页面与弹窗区块,暂时阻断页面的交互.但是,在蒙层元素中滑动的时候,滑到内容的尽头时,再继续滑动,蒙层底部的页面会开始滚动,显然这不是我们想 ...

  6. LibreOJ #110. 乘法逆元

    二次联通门 : LibreOJ #110. 乘法逆元 /* LibreOJ #110. 乘法逆元 求一个数在模意义下的所有逆元 */ #include <cstdio> void read ...

  7. Git LFS的使用

    Git LFS的使用 Git LFS 是 Github 开发的一个 Git 的扩展,用于实现 Git 对大文件的支持 使用目的 在游戏开发过程中,设计资源占用了很大一部分空间. 像png,psd等文件 ...

  8. impdp不是内部或外部命令(Linux)

    1.在windows环境变量下,配置path系统变量. 右击“我的电脑”—>“高级”—>“环境变量”—>“系统变量”—>path:然后添加";oracle导入导出命令 ...

  9. 第11组 Alpha冲刺(4/6)

    第11组 Alpha冲刺(4/6)   队名 不知道叫什么团队 组长博客 https://www.cnblogs.com/xxylac/p/11884529.html 作业博客 https://edu ...

  10. tocke - 加密

    //获取32位随机字符串 $randTocke = getRandChar($length); //当前脚本运行时间, 单位为十万分之一毫秒 $timestamp = $_SERVER['REQUES ...