携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情
什么是容器
容器镜像是一个软件的轻量级独立可执行软件包,包含运行它所需的一切:代码,运行时,系统工具,系统库,设置。不管环境如何,集装箱化软件都可以运行相同的Linux和Windows应用程序。容器将软件与其周围环境隔离开来,例如开发环境和生产环境之间的差异,并有助于减少在同一基础架构上运行不同软件的团队之间的冲突。
- 轻量级
- 在一台机器上运行的Docker容器共享该机器的操作系统内核; 他们立即开始并使用更少的计算和内存。图像由文件系统层构建并共享公用文件。这最大限度地减少了磁盘使用量,图像下载速度更快。
- 标准
- Docker容器基于开放标准,可在所有主要Linux发行版,Microsoft Windows以及任何基础架构(包括虚拟机,裸机和云中)上运行。
- 安全
- Docker容器将应用程序彼此隔离并从底层基础架构中分离出来。Docker提供了最强大的默认隔离功能,可以将应用程序问题限制在一个容器中,而不是整个机器上。
前提
有镜像才能创建容器,这个是根本要求
创建并启动容器
- 语法
docker run [options] images [command] [args]
- options说明
- 有些是一个减号,有些是两个减号
- --name="容器新名字": 为容器指定一个名称;
- -d: 后台运行容器,并返回容器ID,也即启动守护式容器;
- -i:以交互模式运行容器,通常与 -t 同时使用;
- -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
- -P: 随机端口映射;
- -p: 指定端口映射,有以下四种格式
- ip:hostPort:containerPort
- ip::containerPort
- hostPort:containerPort
- containerPort
- 交互式运行
- 使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
- docker run -it centos /bin/bash
容器常用命令
- 所有正在运行的容器
- 语法
docker ps [options]
- options语法说明
- -a :列出当前所有正在运行的容器+历史上运行过的
- -l :显示最近创建的容器。
- -n:显示最近n个创建的容器。
- -q :静默模式,只显示容器编号。
- --no-trunc :不截断输出。
-
退出容器
- exit 停止容器并退出
- ctrl+P+Q 容器不停止退出
-
启动容器
- docker start 容器ID或容器名称
-
重启容器
- docker restart 容器ID或容器名称
-
停止容器
- docker stop 容器ID或容器名称
-
强制停止容器
- docker kill 容器ID或容器名称
-
删除已停止的容器
- 单个删除
docker rm 容器ID
- 多个删除
docker rm -f $(docker ps -qa)
docker ps -aq xargs docker rm
- 单个删除