## **名词解析**
* 镜像 image
* 容器container
## **命令**
* 查看镜像信息
` docker inspect XXX`
* 显示本地已有镜像
`docker images`
* 从 Docker 镜像仓库获取镜像的命令是`docker pull`。其命令格式为:
~~~bash
docker pull [选项] [Docker Registry 地址[:端口号]/]仓库名[:标签]
~~~
~~~bash
docker pull ubuntu:18.04
~~~
* 你可以通过以下命令来便捷的查看镜像、容器、数据卷所占用的空间。
~~~bash
$ docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 24 0 1.992GB 1.992GB (100%)
Containers 1 0 62.82MB 62.82MB (100%)
Local Volumes 9 0 652.2MB 652.2MB (100%)
Build Cache 0B 0B
~~~
* 接列出镜像结果,并且只包含镜像ID和仓库名:
~~~bash
docker image ls --format "{{.ID}}: {{.Repository}}"
~~~
* 以表格等距显示,并且有标题行,和默认一样,不过自己定义列
~~~bash
docker image ls --format "table {{.ID}}\t{{.Repository}}\t{{.Tag}}"
~~~
## **demo**
> 运行一个nginx服务器
~~~bash
$ docker run -d -p 80:80 --name webserver nginx
~~~
> 停止 Nginx 服务器并删除执行下面的命令:
~~~bash
$ docker stop webserver
$ docker rm webserver
~~~
~~~bash
$ docker run -it --rm \
ubuntu:18.04 \
bash
~~~
`docker run`就是运行容器的命令,具体格式我们会在[容器](https://www.kancloud.cn/docker_practice/container)一节进行详细讲解,我们这里简要的说明一下上面用到的参数。
* `-it`:这是两个参数,一个是`-i`:交互式操作,一个是`-t`终端。我们这里打算进入`bash`执行一些命令并查看返回结果,因此我们需要交互式终端。
* `--rm`:这个参数是说容器退出后随之将其删除。默认情况下,为了排障需求,退出的容器并不会立即删除,除非手动`docker rm`。我们这里只是随便执行个命令,看看结果,不需要排障和保留结果,因此使用`--rm`可以避免浪费空间。
* `ubuntu:18.04`:这是指用`ubuntu:18.04`镜像为基础来启动容器。
* `bash`:放在镜像名后的是**命令**,这里我们希望有个交互式 Shell,因此用的是`bash`。
进入容器后,我们可以在 Shell 下操作,执行任何所需的命令。这里,我们执行了`cat /etc/os-release`,这是 Linux 常用的查看当前系统版本的命令,从返回的结果可以看到容器内是`Ubuntu 18.04.1 LTS`系统。
最后我们通过`exit`退出了这个容器。
- 空白目录
- 前端知识
- bower
- yarn
- 命令列表
- requirejs
- http
- mysql
- mysql配置参数
- 优化
- 常用命令
- 锁
- 并发控制
- 权限控制
- 批量删除表
- btree 高度计算
- 索引
- 事务隔离级别
- 用户管理语句
- 用户授权管理
- 库管理语句
- 表管理语句
- 约束管理、索引管理、键管理语句
- 视图管理语句
- insert
- delete 与 update
- mysql自动备份
- PHP
- swoole
- hyperf
- php内置方法
- curl
- class_alias
- array
- string字符串
- 迭代器
- preg_replace
- phpunit
- composer
- code
- spl
- 高级扩展
- yaconf
- 命名规则转化方法
- 魔术方法
- 切面编程
- PhpSpreadsheet
- read
- debug
- facade 支持静态方法
- doctrine
- monolog
- redis
- linux
- curl
- vim
- grep
- crontab
- cut
- sort
- awk
- sed
- 用户管理
- 网络操作
- 磁盘文件系统
- 系统权限
- 查看文件&内容处理
- scp
- shell
- 资源占用情况
- ssh
- 正则
- php正则使用
- 服务器
- 获取服务器ip
- docker
- commond
- tips
- 容器的修改与保存
- 容器操作:端口映射、文件挂载、容器互联
- dockerfile
- 搭建php环境
- 框架
- thinkphp
- 自动加载
- 配置文件
- 容器以及门面模式facade
- laravel
- 路由
- 模版
- migration
- 模型
- tinker
- 工具IDE
- phpstorm
- redis
- 保证事务
- 通用列表数据格式
- 设计模式
- 分类
- 创建型模式
- 建造者模式
- 单例模式
- 适配器模式
- 桥接模式
- 结构型模式
- 合成模式
- git
- gitflow
- nginx
- 正向代理/反向代理
- HTTP
- header
- 状态码
- https
- 代码简洁之道
- 第2章 有意义的命名
- go
- 简介
- 搭建环境
- 入门一
- 入门二
- go 的位运算
- 秒杀系统
- 本质
- 第2章 基础工具与知识介绍
- 2-1 压测工具对使用
- 2-2 Nginx限流配置
- 2-3 限流算法和CDN原理
- 2-4 大型网站架构
- 第3章 秒杀系统的分析
- 3-1 秒杀系统的重难点
- 3-2 秒杀系统的架构
- 第4章 秒杀系统的核心实现
- 4-1 秒杀系统基本需求分析
- 4-2 极致性能的扣库存服务如何实现
- 4-3 扣库存分布式实现方案
- 4-4 扣库存代码演示
- 4-5 商品信息页及抢购进度查询实现
- 4-6 高性能的查库存服务实现
- 4-7 基本需求实现总结
- 4-8 链路如何实现漏斗形流量
- 面试
- 进程、线程、协程
- 消息队列
- kafka
- zookeeper
- 计算机基础