Docker 容器命令

62 阅读3分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情

什么是容器

容器镜像是一个软件的轻量级独立可执行软件包,包含运行它所需的一切:代码,运行时,系统工具,系统库,设置。不管环境如何,集装箱化软件都可以运行相同的Linux和Windows应用程序。容器将软件与其周围环境隔离开来,例如开发环境和生产环境之间的差异,并有助于减少在同一基础架构上运行不同软件的团队之间的冲突。

image.png

  • 轻量级
    • 在一台机器上运行的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

容器常用命令

  1. 所有正在运行的容器
  • 语法 docker ps [options]
  • options语法说明
    • -a :列出当前所有正在运行的容器+历史上运行过的
    • -l :显示最近创建的容器。
    • -n:显示最近n个创建的容器。
    • -q :静默模式,只显示容器编号。
    • --no-trunc :不截断输出。
  1. 退出容器

    • exit 停止容器并退出
    • ctrl+P+Q 容器不停止退出
  2. 启动容器

    • docker start 容器ID或容器名称
  3. 重启容器

    • docker restart 容器ID或容器名称
  4. 停止容器

    • docker stop 容器ID或容器名称
  5. 强制停止容器

    • docker kill 容器ID或容器名称
  6. 删除已停止的容器

    • 单个删除 docker rm 容器ID
    • 多个删除 docker rm -f $(docker ps -qa) docker ps -aq xargs docker rm

    image.png