Docker 入门:容器

容器看着像机器,实际是进程,是一个运行时程序。
要操作一个 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 入门:容器的更多相关文章
- Docker与容器快速入门
Docker之风席卷全球,但很多人觉得docker入门确实不太容易,其原因在于很多知识点上没准备好,在docker解决了什么问题.怎么解决的.用什么技术解决的都还没想清楚的时候就去探索docker组件 ...
- Docker 入门 第二部分: 容器
目录 Docker 入门 第二部分: 容器 先决条件 介绍 你的新开发环境 使用 Dockerfile 定义一个容器 Dockerfile 应用本身 requirements.txt app.py 构 ...
- Docker入门(三):容器(Containers)
这个<Docker入门系列>文档,是根据Docker官网(https://docs.docker.com)的帮助文档大致翻译而成.主要是作为个人学习记录.有错误的地方,Robin欢迎大家指 ...
- docker入门——管理容器
除了交互式的容器(interactive container),我们也可以创建长期运行的容器.守护式容器(daemonized container)没有交互式会话,非常适合运行应用程序和服务.大多数时 ...
- 第三章 Docker 入门
第三章 docker 入门 3.1 确保docker已经就绪 首先查看docker程序是否存在,功能是否正常 [#3#cloudsoar@cloudsoar-virtual-machine ~]$su ...
- 学习 Docker - 入门
Docker简介 一种虚拟容器技术. 一种虚拟化分方案: 操作系统级别的虚拟化: 只能运行相同或相似内核的操作系统: 依赖与linux内核特性:Namespace和Cgroups(Control Gr ...
- Docker入门教程(九)10个镜像相关的API
Docker入门教程(九)10个镜像相关的API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第九篇,重点介绍了镜像相关的Docker Remote ...
- Docker入门教程(八)Docker Remote API
Docker入门教程(八)Docker Remote API [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote ...
- Docker入门教程(六)另外的15个Docker命令
Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...
- Docker入门教程(五)Docker安全
Docker入门教程(五)Docker安全 [编者的话]DockOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第五篇,介绍了Docker的安全问题,依然是老话重谈,入门者可以通 ...
随机推荐
- 图论——Tarjan 初步 DFS序+时间戳+欧拉序
一.什么是DFS序: DFS序是按照先序遍历,先遍历根节点然后依次遍历左子树,右子树的过程,每次遇到新的节点就把新访问节点加到序列中,代码如下: int DFSrk[100000]; int cnt= ...
- P2309(逆序对)
传送门 描述:给定一个序列长n,求多少子串和大于零. \(一开始一定会想到根据前缀和优化,枚举起点和中点O(n)解决\) \(那更高效的方法呢?实际上,我们上面就是要求S_i-S_j>0的数量\ ...
- Pycharm修改HTML模板
- Spring Cloud学习 之 Spring Cloud Hystrix(流程分析)
Spring Boot版本:2.1.4.RELEASE Spring Cloud版本:Greenwich.SR1 我们还是从流程图入手: 创建HystrixCommand或者HystrixObserv ...
- NEON的比较是把所有的bit都设置为1
NEON中的比较指令,如果结果为true,是把所有的bit都设置为1,而不是设置为1. ushort data1[4] = {129,0,136,255}; uint16x4_t v0 = vld1_ ...
- Java抽象类的学习体会与注意事项
一.定义 抽象类:用abstract声明的class为抽象类. 抽象方法:用abstract声明的方法为抽象方法. 抽象方法特点:只有方法定义,没有方法的实现(函数体) 抽象类的子类都必须实现它的方法 ...
- [hdu5400 Arithmetic Sequence]预处理,容斥
题意:http://acm.hdu.edu.cn/showproblem.php?pid=5400 思路:预处理出每个点向左和向右的最远边界,从左向右枚举中间点,把区间答案加到总答案里面.由与可能与前 ...
- [zoj3591]Nim 游戏
题意:有n堆火柴,选择连续若干堆火柴进行Nim游戏,求让先手胜的选择方案数. 思路:让先手胜等同于这些数的异或值不同于0,不妨转化为求让先手败的方案数.此时记录一个前缀的异或和val[i],那么答案就 ...
- 给出两个单词(start和end)与一个字典,找出从start到end的最短转换序列
问题 给出两个单词(start和end)与一个字典,找出从start到end的最短转换序列.规则如下: 一次只能改变一个字母 中间单词必须在字典里存在 例如: 给出 start = "hit ...
- python--遇到SyntaxError: Non-UTF-8 code starting with '\xb8' in file
在运行python中因为添加了中文注释,遇到SyntaxError: Non-UTF-8 code starting with '\xb8' in file 经过百度,说是Python的默认编码格式是 ...