🙊
关于作者
  • 个人简历
  • 联系作者
  • 运维日常记录
    • RAID 磁盘阵列
    • MBR 与 GPT 分区
    • Linux 命令行判断GPT和MBR分区
    • CentoS 7 系统 扩容根分区
  • Linux运维学习笔记
    • 计算机网络基础知识
    • Linux 系统启动过程
    • Linux 命令基本格式
    • Linux 文件删除原理
    • Linux 目录结构说明
    • Linux 查看命令帮助信息
    • Linux Yum 命令
    • Linux Apt 命令
  • Linux 运维管理
    • Linux 硬件管理
    • Linux 软件管理
    • Linux 磁盘管理
    • Linux 系统管理
    • Linux 网络管理
    • Linux 用户和组管理
    • Linux 文件与目录管理
    • Linux 文件压缩与解压缩管理
    • Linux SSL证书自动更新管理
  • 运维环境搭建
    • CentOS 7 安装与优化
    • CentOS 安装高版本Node.js
    • CentOS 升级安装Python2.7.X
    • CentOS 安装 Python3.8.X
    • CentOS 安装 PHP7.4.X
    • CentOS 安装 Mysql 8.0
    • CentOS 安装 Zabbix 5.0
    • Windows Server 部署 IIS
    • Cronsun 任务管理器部署
    • Teltport 堡垒机部署
    • Jump Server 堡垒机搭建及使用
    • CI & CD 持续集成部署
    • ELK6.5.0+Filebeat 日志系统部署
    • Lustre 分布式并行文件系统部署
  • 系统安全加固
    • Linux 操作系统加固
    • Windows 操作系统安全加固
    • Password 安全加固
    • OpenSSL 安全加固
    • NFS 服务安全加固
    • Rsync 服务安全加固
    • IIS 服务安全加固
    • PHP 语言环境安全加固
    • Apache 服务安全加固
    • Nginx 服务安全加固
    • Tomcat 服务安全加固
    • MySQL 服务安全加固
    • PostgreSQL 服务安全加固
    • Redis 服务安全加固
    • MongoDB 服务安全加固
    • 暴力破解攻击和防御
  • 云原生运维教程
    • Docker 理论
    • Docker 基本架构
    • Docker 基本概念
    • Docker 基本使用
      • 容器
      • 镜像
      • 仓库
    • Docker 存储
    • Docker 网络
    • Docker 安装
  • Linux 系统故障排查
    • Linux 系统重置密码方法
    • Linux 系统误操作修改目录权限为 777 修复方法
  • Windows 系统故障排查
    • Windows 和 Windows Server 中启用/禁用 SMBv1、SMBv2 和 SMBv3
    • Windows10建立映射网络驱动器报错,无法挂载共享文件系统,解决办法
  • 运维工具使用
    • 常用 Git 命令简介及使用
    • 常用 SVN 命令简介及使用
    • 常用 Vi / Vim 文本编辑工具简介及使用
    • 国内常用加速源使用及配置
    • 软碟通制作U启动和再生龙恢复Linux系统及备份
    • 常用JetBrains系列IDE快捷键
  • 中间件教程学习
    • Nginx 极简教程
    • Nginx 安装
    • Nginx 配置
    • Nginx 问题集
    • Mysql 教程
    • Mysql 运维
    • Mysql 原理
    • Redis 教程
    • Redis 持久化
    • Redis 复制
    • Redis 哨兵
    • Redis 集群
    • Redis 运维
    • PostgreSQL 教程
    • H2 教程
    • SqLite 教程
    • 数据库中间件 flyway
  • Nginx 入门教程
  • MySQL 入门教程
  • Nosql 数据库
  • 常用工具快捷键
    • Windows10常用快捷键大全
  • Group 1
由 GitBook 提供支持
在本页
  • 以下是一些常用的Docker容器操作命令:​
  • 创建容器(create)​
  • 查看已创建的容器(ps,ls,list)​
  • 运行一个已创建的容器(start),停止一个正在运行的容器(stop),重启容器(restart)​
  • 创建并启动一个容器(run,等效于"create + start")​
  • 删除容器(rm)​
  • 获取容器的启动日志(logs)​

这有帮助吗?

  1. 云原生运维教程
  2. Docker 基本使用

容器

上一页Docker 基本使用下一页镜像

最后更新于2年前

这有帮助吗?

博客作者:联系请,搬运不易,希望请作者喝咖啡,可以点击

Docker是一个开源的容器化平台,允许开发人员在轻量级的容器中打包和运行应用程序。

以下是一些常用的Docker容器操作命令:

创建容器(create)

docker create :创建一个新的容器但不启动它;如果本地镜像中有容器,则直接创建,如果本地没有镜像则会去官方下载相应的镜像。

语法:

docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

示例:

使用docker镜像ubuntu:20.04创建一个容器,并将容器命名为myubuntu

docker create  --name myubuntu  ubuntu:20.04

查看已创建的容器(ps,ls,list)

docker ps : 列出容器;"ls", "ps", "list"均是别名信息。

语法:

docker ps [OPTIONS]
  • OPTIONS说明:

    • -a : 显示所有的容器,包括未运行的。

    • -f : 根据条件过滤显示的内容。

    • --format : 指定返回值的模板文件。

    • -l : 显示最近创建的容器。

    • -n : 列出最近创建的n个容器。

    • --no-trunc : 不截断输出。

    • -q : 静默模式,只显示容器编号。

    • -s : 显示总的文件大小。

列出所有在运行的容器信息。

runoob@runoob:~$ docker ps
CONTAINER ID   IMAGE          COMMAND                ...  PORTS                    NAMES
09b93464c2f7   nginx:latest   "nginx -g 'daemon off" ...  80/tcp, 443/tcp          myrunoob
96f7f14e99ab   mysql:5.6      "docker-entrypoint.sh" ...  0.0.0.0:3306->3306/tcp   mymysql
  • 输出详情介绍:

    • CONTAINER ID: 容器 ID。

    • IMAGE: 使用的镜像。

    • COMMAND: 容器的初始化命令,该命令和镜像的默认设置有关,当然,在启动容器时我们时可以修改的。

    • CREATED: 创建的时间。

    • STATUS: 当前的状态。

    • PORTS: 对外暴露的端口。

    • NAMES: 容器的名称,若不指定,则docker引擎会自动帮咱们随机生成一个容器名称。

  • STATUS状态有七种

    • created(已创建)

    • restarting(重启中)

    • running(运行中)

    • removing(迁移中)

    • paused(暂停)

    • exited(停止)

    • dead(死亡)

  • docker start :启动一个或多个已经被停止的容器

  • docker stop :停止一个运行中的容器

  • docker restart :重启容器

docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]

示例:

启动已被停止的容器myrunoob

docker start myrunoob

停止运行中的容器myrunoob

docker stop myrunoob

重启容器myrunoob

docker restart myrunoob

docker run : 创建一个新的容器并运行一个命令

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • 常用OPTIONS说明:

    • -i :即"interactive",表示交互式的类型。通常和"-t"选项搭配使用。

    • -t :即"terminal",表示启动一个终端。通常和"-i"选项搭配使用。

    • -d :让容器在后台运行,默认情况下,容器是在前台(当前终端)运行的,这意味着会阻塞当前终端。

    • --name :创建容器时指定名称。

    • -P :随机端口映射,容器内部端口 随机 映射到主机的端口

    • -p :指定端口映射,格式为:主机(宿主)端口:容器端口

使用docker镜像ubuntu:20.04以后台模式启动一个容器,并将容器命名为myubuntu。
docker run --name myubuntu -d ubuntu:20.04 

使用镜像ubuntu:20.04以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d ubuntu:20.04

使用镜像 ubuntu:20.04,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d ubuntu:20.04

绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

使用镜像ubuntu:20.04以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it ubuntu:20.04 /bin/bash

docker rm :删除一个或多个容器。

docker rm [OPTIONS] CONTAINER [CONTAINER...]
  • OPTIONS说明:

    • -f : 通过 SIGKILL 信号强制删除一个运行中的容器。

    • -l : 移除容器间的网络连接,而非容器本身。

    • -v : 删除与容器关联的卷。

强制删除容器 db01、db02:docker rm -f db01 db02
移除容器 nginx01 对容器 db01 的连接,连接名 db:docker rm -l db 
删除容器 nginx01, 并删除容器挂载的数据卷:docker rm -v nginx01
删除所有已经停止的容器:docker rm $(docker ps -a -q)

docker top :查看容器中运行的进程信息,支持 ps 命令参数。

docker top [OPTIONS] CONTAINER [ps OPTIONS]

容器运行时不一定有/bin/bash终端来交互执行top命令,而且容器还不一定有top命令,可以使用docker top来实现查看container中正在运行的进程。

查看容器mymysql的进程信息。
runoob@runoob:~/mysql$ docker top mymysql
UID    PID    PPID    C      STIME   TTY  TIME       CMD
999    40347  40331   18     00:58   ?    00:00:02   mysqld

查看所有运行容器的进程信息。
for i in  `docker ps |grep Up|awk '{print $1}'`;do echo \ &&docker top $i; done
docker logs [OPTIONS] CONTAINER
  • OPTIONS说明:

    • -f : 跟踪日志输出

    • --since : 显示某个开始时间的所有日志

    • -t : 显示时间戳

    • --tail : 仅列出最新N条容器日志

跟踪查看容器mynginx的日志输出。

docker logs -f mynginx

查看容器mynginx从2022年10月1日后的最新10条日志。

docker logs --since="2022-10-01" --tail=10 mynginx

示例:

运行一个已创建的容器(start),停止一个正在运行的容器(stop),重启容器(restart)

语法:

创建并启动一个容器(run,等效于"create + start")

语法:

示例:

删除容器(rm)

语法

示例:

6.显式正在运行的容器中进程信息(top)

语法:

示例:

获取容器的启动日志(logs)

语法:

示例:

点击
联系博客作者
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​
​