容器看着像机器,实际是进程,是一个运行时程序。

要操作一个 Docker 容器,只需要执行 docker container 命令。 可以通过 help 查看

run 运行容器

基础使用:

docker container run nginx

Docker 会到本地区查找有没有叫做 nginx 的镜像(镜像这篇暂不涉及)。如果没有,会在 Docker Hub 官方仓库当中下载。

Docker 每条命令里都有可选参数。以下是 run 经常使用的一些可选参数:

-p / --publish

开放端口。比如开放容器的 80 端口和 22 端口,分别映射到宿主机的 8000 和 5000 端口。nginx 必须要开放端口才可以使用。

docker container -p 8000:80 -p 5000:22 nginx

-d / --detach

后台运行,打印容器 ID。

没有后台运行时,会显示 nginx 的日志:

后台运行以后,打印容器 ID 后可以接着做其他的事:

--name

给容器取一个名字,更容易记得住。 默认容器名称是随机生成的。

-e / --env

给容器添加环境变量。

-i, --interactive

开启交互式模式。

-t / --tty

开启 tty。

-i 和 -t 经常组合在一起使用,可以在容器中输入 shell 命令。 比如通过 Docker 安装一个 python 环境,然后在命令行运行 python:

docker container run -it python:3.7-alpine python

运行以后,可以直接获取 python 终端进行调试:

使用交互式进入已经在运行的容器:

docker container exec -it container_id

--rm

退出容器时自动删除容器,通常用在调试过程中。

-v / --volume

添加 volume 数据卷(数据卷是宿主机和容器之间的数据通道,这里暂不讨论。)

logs 日志查看

查看某个容器运行的日志。

docker container logs container_id

stop 命令

停止容器运行

docker container stop container_id(name)

rm 命令

删除容器

docker container rm container_id(name)

ls 查看容器

基础使用:

docker container ls

可以选择的参数:

-a / --all

展示所有的容器,包含运行的和没有运行的。

-q / --quiet

只显示 IDs。

-f / --filter

筛选容器。

列举所有退出的容器,并显示 ID:

docker container ls -aq -f "status=exited"

删除所有退出的容器:

docker container rm $(docker container ls -aq -f "status=exited") --force

Docker 入门:容器的更多相关文章

  1. Docker与容器快速入门

    Docker之风席卷全球,但很多人觉得docker入门确实不太容易,其原因在于很多知识点上没准备好,在docker解决了什么问题.怎么解决的.用什么技术解决的都还没想清楚的时候就去探索docker组件 ...

  2. Docker 入门 第二部分: 容器

    目录 Docker 入门 第二部分: 容器 先决条件 介绍 你的新开发环境 使用 Dockerfile 定义一个容器 Dockerfile 应用本身 requirements.txt app.py 构 ...

  3. Docker入门(三):容器(Containers)

    这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...

  4. docker入门——管理容器

    除了交互式的容器(interactive container),我们也可以创建长期运行的容器.守护式容器(daemonized container)没有交互式会话,非常适合运行应用程序和服务.大多数时 ...

  5. 第三章 Docker 入门

    第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...

  6. 学习 Docker - 入门

    Docker简介 一种虚拟容器技术. 一种虚拟化分方案: 操作系统级别的虚拟化: 只能运行相同或相似内核的操作系统: 依赖与linux内核特性:Namespace和Cgroups(Control Gr ...

  7. Docker入门教程(九)10个镜像相关的API

    Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...

  8. Docker入门教程(八)Docker Remote API

    Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...

  9. Docker入门教程(六)另外的15个Docker命令

    Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...

  10. Docker入门教程(五)Docker安全

    Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...

随机推荐

  1. MySQL使用ProxySQL实现读写分离

    1 ProxySQL简介: ProxySQL是一个高性能的MySQL中间件,拥有强大的规则引擎.官方文档:https://github.com/sysown/proxysql/wiki/下载地址:ht ...

  2. Muduo网络库实战(二):实现服务器与客户端的连接

    1. 方案的确定 1)基本需求 用户1000+, IO压力不大: 多个客户端打开网站,输入查询字符串strclient,发送给服务器=>服务器接收客户端发过来的数据并处理,将结果返回给客户端: ...

  3. 前端——Vue.js学习总结一

    一.什么是Vue.js 1.Vue.js 是目前最火的一个前端框架,React是最流行的一个前端框架 2.Vue.js 是前端的主流框架之一,和Angular.js.React.js 一起,并成为前端 ...

  4. spring Code(spring 核心)

    一.spring的作用 spring 就是为了让我们以后能够做大的项目准备的.spring核心的功能就是一个工厂模式,spring相当于为你的项目专门成立一个一个工厂,这个工厂负责创建对象 ,维护对象 ...

  5. 201771010113 李婷华 《面向对象程序设计(Java)》第十六周总结

    一.理论知识部分 1.程序是一段静态的代码,它应用程序执行蓝 是一段静态的代码,它应用程序执行蓝 是一段静态的代码,它应用程序执行蓝本. 2.进程是程序的一次动态执行,它对应了从代码加载.执行至执行完 ...

  6. python 读hdf4文件,再转写成一个tif文件

    1.安装pyhdf包 (1)通过此链接查找并下载pyhdf包:https://www.lfd.uci.edu/~gohlke/pythonlibs/#pygame(根据自己的系统及python版本选择 ...

  7. C:复试

    C语言程序设计基础知识 C语言特点 1.是一种兼有高级语言和汇编语言优点的语言 2.是一种结构化程序设计语言 3.数据类型丰富 4.具有丰富的运算符 5.具有预处理功能 合理算法的特点 1.有输入 2 ...

  8. C# -- WebClient自动获取web页面编码并转换

    C# -- WebClient自动获取web页面编码并转换 抽个时间,写篇小文章,最近有个朋友,用vb开发一个工具,遇到WebClient获取的内容出现乱码,可惜对vb不是很熟悉,看了几分钟vb的语法 ...

  9. android学习流程确立

    也是摘抄自网上,先打个基础吧,以后有更新,再更改. 确定学习路线:向着中级工程师奋斗Android入门的时候,需要有一本入门书,好好学习书中的内容,同时花一年时间把Android官方文档中的train ...

  10. Linux相关命令、虚拟机网络配置

    虚拟机联网 Linux命令 1.查找 #查找django进程,不包括grep自建的 ps -ef |grep django | grep -v grep # find 查找home目录下的name.t ...