前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker常用命令

Docker常用命令

作者头像
别团等shy哥发育
发布2023-02-25 14:21:26
3190
发布2023-02-25 14:21:26
举报
文章被收录于专栏:全栈开发那些事

Docker常用命令

1、帮助启动类命令

启动docker

代码语言:javascript
复制
systemctl start docker

停止docker

代码语言:javascript
复制
systemctl stop docker

重启docker

代码语言:javascript
复制
systemctl restart docker

查看docker状态

代码语言:javascript
复制
systemctl status docker

开机启动

代码语言:javascript
复制
systemctl enable docker

查看docker概要信息

代码语言:javascript
复制
docker info

查看docker总体帮助文档

代码语言:javascript
复制
docker --help

查看docker命令帮助文档

代码语言:javascript
复制
docker 具体命令 --help

例如:

image-20220111224106351
image-20220111224106351

2、镜像命令

列出本地主机上的镜像

代码语言:javascript
复制
docker images
image-20220111224305376
image-20220111224305376

各个选项说明: REPOSITORY:表示镜像的仓库源 TAG:镜像的标签版本号 IMAGE ID:镜像ID CREATED:镜像创建时间 SIZE:镜像大小 同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。如果你不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像

OPTIONS说明:

  • -a:列出本地所有的镜像(包含历史映像层)
  • -q:只显示镜像ID

查找某个镜像

代码语言:javascript
复制
docker search [OPTIONS] 镜像名字

OPTIONS说明:–limit:只列出N个镜像,默认25个。

image-20220111224833996
image-20220111224833996
image-20220111224950913
image-20220111224950913

拉取镜像

代码语言:javascript
复制
docker pull 镜像名字[:TAG]

没有TAG就默认拉取最新版,等价于docker pull 镜像名字:latest

查看镜像/容器/数据卷所占的空间

代码语言:javascript
复制
docker system df
image-20220111225147349
image-20220111225147349

删除镜像

删除单个镜像

代码语言:javascript
复制
docker rmi -f 镜像ID

删除多个

代码语言:javascript
复制
docker rmi -f 镜像名1:TAG 镜像名2:TAG

删除全部(谨慎操作)

代码语言:javascript
复制
docker rmi -f $(docker images -qa)

3、容器命令

有镜像才能创建容器

新建+启动容器

代码语言:javascript
复制
docker run [OPTIONS] IMAGE[COMMAND][ARG...]

OPTIONS说明(常用):有些是一个减号,有些是两个减号 –name=“容器新名字” 为容器指定一个名称; -d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行); -i:以交互模式运行容器,通常与 -t 同时使用; -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用; 也即启动交互式容器(前台有伪终端,等待交互); -P: 随机端口映射,大写P -p: 指定端口映射,小写p

image-20220111225813105
image-20220111225813105

参数说明: -i: 交互式操作。 -t: 终端。 centos : centos 镜像。 /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。 要退出终端,直接输入 exit:

列出当前所有正在运行的容器

代码语言:javascript
复制
docker ps [OPTIONS]

-a :列出当前所有正在运行的容器+历史上运行过的 -l :显示最近创建的容器。 -n:显示最近n个创建的容器。 -q :静默模式,只显示容器编号。

退出容器

两种退出方式:

  • exit:run命令进入容器,exit退出,容器停止
  • ctrl+p+q:run命令进入容器,ctrl+p+1退出,容器不停止

启动已经停止的容器

代码语言:javascript
复制
docker start 容器ID或者容器名

重启容器

代码语言:javascript
复制
docker restart 容器ID或者容器名

停止容器

代码语言:javascript
复制
docker stop 容器ID或者容器名

强制停止容器

代码语言:javascript
复制
docker kill 容器ID或者容器名

删除已经停止的容器

代码语言:javascript
复制
docker rm 容器ID

强制删除:

代码语言:javascript
复制
docker rm -f 容器ID

删除多个容器

代码语言:javascript
复制
docker rm -f $(docker ps -a -q)

启动守护式容器(后台服务器)

代码语言:javascript
复制
docker run -d 容器名

redis后台守护式启动:

image-20220111230545607
image-20220111230545607

redis前台交互式启动:

image-20220111230652866
image-20220111230652866

查看容器日志

代码语言:javascript
复制
docker logs 容器ID
image-20220111230738079
image-20220111230738079

查看容器内运行的进程

代码语言:javascript
复制
docke top 容器ID
image-20220111230823389
image-20220111230823389

查看容器内部细节

代码语言:javascript
复制
docker inspect 容器ID
image-20220111230920831
image-20220111230920831

进入正在运行的容器并以命令行交互

进入redis容器

代码语言:javascript
复制
docker exec -it c9486bfc3346 /bin/bash
image-20220111231031828
image-20220111231031828

或者

代码语言:javascript
复制
docker attach 容器ID

上面两种进入容器方式的区别:

  • attach 直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器的停止。
  • exec 是在容器中打开新的终端,并且可以启动新的进程,用exit退出,不会导致容器的停止。

所以我们推荐使用docker exec 命令,因为退出容器终端,不会导致容器的停止。

从容器内拷贝文件到主机上

代码语言:javascript
复制
docker cp 容器ID:容器内路径 目的主机路径

导入和导出容器

export导出容器的内容作为一个tar归档文件[对应import命令]

import 从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]

先启动一个ubuntu容器:

image-20220111232037691
image-20220111232037691

导出容器

代码语言:javascript
复制
docker export 2a88a4eb7f6e >aaa.tar
image-20220111232024283
image-20220111232024283
image-20220111232110362
image-20220111232110362

将aaa.tar文件使用docker import命令变成镜像

代码语言:javascript
复制
cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号
image-20220111232338384
image-20220111232338384
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-04-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker常用命令
  • 1、帮助启动类命令
    • 启动docker
      • 停止docker
        • 重启docker
          • 查看docker状态
            • 开机启动
              • 查看docker概要信息
                • 查看docker总体帮助文档
                  • 查看docker命令帮助文档
                  • 2、镜像命令
                    • 列出本地主机上的镜像
                      • 查找某个镜像
                        • 拉取镜像
                          • 查看镜像/容器/数据卷所占的空间
                            • 删除镜像
                            • 3、容器命令
                              • 新建+启动容器
                                • 列出当前所有正在运行的容器
                                  • 退出容器
                                    • 启动已经停止的容器
                                      • 重启容器
                                        • 停止容器
                                          • 强制停止容器
                                            • 删除已经停止的容器
                                              • 启动守护式容器(后台服务器)
                                                • 查看容器日志
                                                  • 查看容器内运行的进程
                                                    • 查看容器内部细节
                                                      • 进入正在运行的容器并以命令行交互
                                                        • 从容器内拷贝文件到主机上
                                                          • 导入和导出容器
                                                          相关产品与服务
                                                          容器服务
                                                          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                                          领券
                                                          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档