docker教程(1) - 快速使用
docker 笔记(1) ——docker安装、获取镜像、启动容器、删除容器

一、安装
Docker 官方文档
根据官方文档整理简单流程
从Docker Hub下载mac包

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

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

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


- 成功运行后可以在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教程(1) - 快速使用的更多相关文章
- Docker教程:docker machine的配置和命令
http://blog.csdn.net/pipisorry/article/details/50921335 安装virtualbox 如果要使用virtualbox,首先要安装virtualbox ...
- Docker教程:docker的概念及安装
http://blog.csdn.net/pipisorry/article/details/50754385 Why docker 对于运维来说,Docker提供了一种可移植的标准化部署过程,使得规 ...
- 简明Docker教程
Docker基础 这篇基础文章是方便用户在使用cSphere平台之前,了解docker基础知识. 针对已经有一定的Linux基础知识的用户. Docker是什么 Docker是一个改进的容器技术.具体 ...
- Spring_MVC_教程_快速入门_深入分析
Spring MVC 教程,快速入门,深入分析 博客分类: SPRING Spring MVC 教程快速入门 资源下载: Spring_MVC_教程_快速入门_深入分析V1.1.pdf Spring ...
- Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考
Selenium 2.0 WebDriver 自动化测试 使用教程 实例教程 API快速参考 //System.setProperty("webdriver.firefox.bin" ...
- Docker环境 ELK 快速部署
Docker环境 ELK快速部署 环境 Centos 7.4 , Docker version 17.12 Docker至少3GB内存: #内核配置 echo ' vm.max_map_count = ...
- Docker教程:dokcer machine的概念和安装
http://blog.csdn.net/pipisorry/article/details/50920982 Docker machine介绍 做为Docker容器集群管理三剑客之一的Docker ...
- Docker教程:使用docker配置python开发环境
http://blog.csdn.net/pipisorry/article/details/50808034 Docker的安装和配置 [Docker教程:docker的安装] [Docker教程: ...
- Docker 教程
转自:http://www.runoob.com/docker/docker-tutorial.html Docker 教程
- docker教程之从一头雾水到不一头雾水(2)
书接上文:docker教程之从一头雾水到不一头雾水(1) 运行镜像 先查看下本地有哪些镜像 [root@ichz ~]# docker images REPOSITORY TAG IMAGE ID C ...
随机推荐
- setuptools 版本太旧
第二是 setuptools 版本太旧,所以出现以下问题Command "python setup.py egg_info" failed with error code 1 in ...
- HTTP请求处理流程、IHttphandler、IHttpModule
一.ASP.NET处理管道 Asp.net处理管道的第一步是创建HttpWorkerRequest对象,它包含于当前请求有关的所有信息. HttpWorkerRequest把请求传递给HttpRunt ...
- Jquery的toggle()与trigger()方法
我一直分不清楚toggle()与trigger()两个各自的作用,所以今天抽时间记录一些,以加深印象. 1.toggle() 定义和用法: toggle() 方法切换元素的可见状态.如果被选元素可见, ...
- jQuery 操作一览表
js获取方法要比jq的方法麻烦的多,主要是因为FF浏览器,因为FF浏览器也会把换行当作dom元素,下面跟着小编一起来学习js jquery获取当前元素的兄弟级 上一个 下一个元素的,需要的朋友一起来学 ...
- SIGAI机器学习第十集 线性判别分析
讲授LDA基本思想,寻找最佳投影矩阵,PCA与LDA的比较,LDA的实际应用 前边讲的数据降维算法PCA.流行学习都是无监督学习,计算过程中没有利用样本的标签值.对于分类问题,我们要达到的目标是提取或 ...
- mysql查看查询缓存是否启用
查看查询缓存情况: mysql> show variables like '%query_cache%'; (query_cache_type 为 ON 表示已经开启) +---------- ...
- Celery和Flask
第一章:Celery 第二章:Flask登录 第三章:flask简介 第四章:flask应用启动流程 第五章:路由第六章:上下文 第七章:请求 第八章:响应 第九章:session
- 2D动画如何做出3D体积感
https://cowlevel.net/article/1959026 <AngerForce>幕后故事 这篇文章是个老坑,最近有时间开始写,也是对之前项目的一个总结和记录吧. 本篇文章 ...
- MySQL数据分析-(9)库操作补充:用户管理和权限管理
大家好,我是jacky,很高兴继续跟大家学习MySQL数据分析实战,本节课的主题是用户管理和权限管理: 在分享之前,jacky在不厌其烦的强调一下:学习任何一门学科和技能,最重要的是捋清逻辑,我们要知 ...
- JavaWeb_(Spring框架)整合Mybatis加入事务操作数据库
整合Mybatis a)导包: i.Spring:基本包.aop.aspects.jdbc.tx.test: ii.Mybatis:mybatis-3.4.6 iii.整合包:mybatis-spri ...