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

Docker日常工作常用命令

作者头像
追逐时光者
发布2022-09-28 19:42:07
2600
发布2022-09-28 19:42:07
举报
文章被收录于专栏:编程进阶实战

容器生命周期管理

Docker创建新容器并运行run

语法:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS说明:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • --name="nginx-lb": 为容器指定一个名称;
  • --dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • --dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h "mars": 指定容器的hostname;
  • -e username="ritchie": 设置环境变量;
  • --env-file=[]: 从指定文件读入环境变量;
  • --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
  • -m :设置容器使用内存最大值;
  • --net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • --link=[]: 添加链接到另一个容器;
  • --expose=[]: 开放一个端口或一组端口;

实例:

使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为yyflightNginx:

代码语言:javascript
复制
docker run --name yyflightNginx -d nginx:latest

执行完后可使用docker ps验证容器是否成功运行

Dcoker start/stop/restart

docker start 容器名:启动一个或多少已经被停止的容器
代码语言:javascript
复制
docker start yyflightNginx
docker stop 容器名:停止一个运行中的容器
代码语言:javascript
复制
docker stop yyflightNginx
docker restart 容器名:重启容器
代码语言:javascript
复制
docker restart yyflightNginx

Docker杀死运行中的容器kill

docker kill :杀掉一个运行中的容器。

实例:

杀死运行中的nginx容器yyflightNginx

代码语言:javascript
复制
docker kill yyflightNginx

Docker删除一个或者多个容器rm

语法:docker rm [OPTIONS] CONTAINER [CONTAINER...]

实例:

1、强制删除容器 yyflightNginx001、yyflightNginx02

代码语言:javascript
复制
docker rm -f  yyflightNginx001、yyflightNginx02

2、移除容器nginx01对容器db01的连接,连接名db

代码语言:javascript
复制
docker rm -l db 

3、删除容器nginx01,并删除容器挂载的数据卷

代码语言:javascript
复制
docker rm -v nginx01

Docker创建新容器但不启用create

语法:docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

实例:

使用docker镜像nginx:latest创建一个容器,并将容器命名为yyflightNginx001

代码语言:javascript
复制
docker create --name yyflightNginx001 nginx:latest

Docker容器暂停和恢复pause/unpause

docker pause :暂停容器中所有的进程

暂停数据库容器db01提供服务:

代码语言:javascript
复制
docker pause db01
docker unpause :恢复容器中所有的进程

恢复数据库容器db01提供服务:

代码语言:javascript
复制
docker unpause db01

容器操作

查看本地正在运行的容器ps

语法:docker ps [OPTIONS]

OPTIONS说明:

  • -a :显示所有的容器,包括未运行的。
  • -f :根据条件过滤显示的内容。
  • --format :指定返回值的模板文件。
  • -l :显示最近创建的容器。
  • -n :列出最近创建的n个容器。
  • --no-trunc :不截断输出。
  • -q :静默模式,只显示容器编号。
  • -s :显示总的文件大小。
代码语言:javascript
复制
docker ps

Docker查看容器中运行的进程信息top

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

实例:

查看容器yyflightNginx的进程信息:

代码语言:javascript
复制
docker top yyflightNginx

Dcoker获取容器的日志logs

语法: docker logs [OPTIONS] CONTAINER

OPTIONS说明:

  • -f : 跟踪日志输出
  • --since :显示某个开始时间的所有日志
  • -t : 显示时间戳
  • --tail :仅列出最新N条容器日志

实例:

跟踪查看容器yyflightNginx的日志输出(帮你查看这个容器在某个时间段被执行了什么操作):

代码语言:javascript
复制
docker logs -f yyflightNginx

Docker列出指定的容器的端口映射port

docker port :列出指定的容器的端口映射,或者查找将PRIVATE_PORT NAT到面向公众的端口。

实例:

查看容器yyflightNginx的端口映射情况:

代码语言:javascript
复制
docker port yyflightNginx

Docker info|version|status

Docker版本信息查看version

语法:docker version [OPTIONS]

OPTIONS说明:

  • -f :指定返回值的模板文件。
代码语言:javascript
复制
docker version

查看Docker系统信息info

显示 Docker 系统信息,包括镜像和容器数。

代码语言:javascript
复制
docker info

Docker服务状态查看systemctl status

代码语言:javascript
复制
systemctl status docker

Docker本地镜像管理

查看本地镜像列表images

语法:docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS说明:

  • -a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
  • --digests :显示镜像的摘要信息;
  • -f :显示满足条件的镜像;
  • --format :指定返回值的模板文件;
  • --no-trunc :显示完整的镜像信息;
  • -q :只显示镜像ID。
代码语言:javascript
复制
docker images

Docker删除本地一个或多少镜像rmi

语法:docker rmi [OPTIONS] IMAGE [IMAGE...]

OPTIONS说明:

  • -f :强制删除;
  • --no-prune :不移除该镜像的过程镜像,默认移除;

实例:

强制删除本地镜像nginx/ubuntu

代码语言:javascript
复制
docker rmi -f nginx/ubuntu

Docker给本地镜像打标签tag

docker tag : 标记本地镜像,将其归入某一仓库。

语法:docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

Docker镜像打标签在我们的实际开发中非常常用,比如说公司的项目每次开发都会发布一个版本然后我们通过打标签来区分不同版本,如果以后想要回滚版本就可以使用指定的标签的镜像来创建容器。

实例:

1、比如说我本地现在有一个nginx的镜像:

代码语言:javascript
复制
docker images

2、我对nginx进行了开发,发布第一个版本,我就可以通过对这个版本打标签,打完标签后生成新的镜像:

代码语言:javascript
复制
docker tag nginx nginx:v001

Docker使用Dockerfile创建镜像build

语法:docker build [OPTIONS] PATH | URL | -

OPTIONS说明:

  • --build-arg=[] :设置镜像创建时的变量;
  • --cpu-shares :设置 cpu 使用权重;
  • --cpu-period :限制 CPU CFS周期;
  • --cpu-quota :限制 CPU CFS配额;
  • --cpuset-cpus :指定使用的CPU id;
  • --cpuset-mems :指定使用的内存 id;
  • --disable-content-trust :忽略校验,默认开启;
  • -f :指定要使用的Dockerfile路径;
  • --force-rm :设置镜像过程中删除中间容器;
  • --isolation :使用容器隔离技术;
  • --label=[] :设置镜像使用的元数据;
  • -m :设置内存最大值;
  • --memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap;
  • --no-cache :创建镜像的过程不使用缓存;
  • --pull :尝试去更新镜像的新版本;
  • -q :安静模式,成功后只输出镜像ID;
  • --rm :设置镜像成功后删除中间容器;
  • --shm-size :设置/dev/shm的大小,默认值是64M;
  • --ulimit :Ulimit配置。

实例:

使用当前目录的Dockerfile创建镜像:

代码语言:javascript
复制
docker build -t w3xue/ubuntu:v1 . 

使用URL github.com/creack/docker-firefox 的 Dockerfile 创建镜像:

代码语言:javascript
复制
docker build github.com/creack/docker-firefox

Dcoker查看指定镜像的创建历史history

语法docker history [OPTIONS] IMAGE

OPTIONS说明:

  • -H :以可读的格式打印镜像大小和日期,默认为true;
  • --no-trunc :显示完整的提交记录;
  • -q :仅列出提交记录ID。

实列:

查看容器nginx的创建历史记录:

代码语言:javascript
复制
docker history nginx

镜像仓库相关

登录/退出Docker镜像仓库login/logout

docker login : 登录到一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub docker logout : 登出一个Docker镜像仓库,如果未指定镜像仓库地址,默认为官方仓库 Docker Hub

语法:

代码语言:javascript
复制
docker login [OPTIONS] [SERVER]
docker logout [OPTIONS] [SERVER]

OPTIONS说明:

  • -u :登陆的用户名
  • -p :登陆的密码

实例:

登陆到Docker Hub:

代码语言:javascript
复制
docker login -u 用户名 -p 密码

登出Docker Hub:

代码语言:javascript
复制
docker logout

Docker从镜像仓库中拉取或者更新指定镜像pull

语法:docker pull [OPTIONS] NAME[:TAG|@DIGEST]

OPTIONS说明:

  • -a :拉取所有 tagged 镜像
  • --disable-content-trust :忽略镜像的校验,默认开启

实列:

从Docker Hub下载最新的ubuntu镜像

代码语言:javascript
复制
docker pull ubuntu

从Docker Hub下载repository为ubuntu的所有镜像

代码语言:javascript
复制
docker pull -a ubuntu

Docker将本地的镜像上传到镜像仓库push

docker push : 将本地的镜像上传到镜像仓库,要先登陆到镜像仓库

语法:docker push [OPTIONS] NAME[:TAG]

OPTIONS说明:

  • --disable-content-trust :忽略镜像的校验,默认开启

实例:

上传本地镜像nginx:v001到镜像仓库中:

代码语言:javascript
复制
docker push nginx:v001

查询Docker Hub镜像search

语法:docker search [OPTIONS] TERM

OPTIONS说明:

  • --automated:弃用,只列出自动构建类型的镜像。
  • --filter , -f:基于给定条件过滤输出。
  • --format:使用模板格式化显示输出。
  • --limit:Max number of search results ,默认值25。
  • --no-trunc:禁止截断输出。
  • --stars , -s:弃用,只显示收藏数不小于几颗星的镜像,移到--filter中使用。
从Docker Hub查找所有镜像名包含redis,并且收藏星数大于10的镜像
代码语言:javascript
复制
docker search --filter stars=10 redis
从Docker Hub查找所有镜像名包含redis的镜像
代码语言:javascript
复制
docker search redis

Docker学习系列文章

入门必备:十本你不容错过的Docker入门到精通书籍推荐👉

day1、全面的Docker快速入门教程👉

day2、CentOS 8.4安装Docker👉

day3、Windows10 Docker安装详细教程👉

day4、Ubuntu 20.04安装Docker👉

day5、Docker日常工作常用命令👉

参考文章

Dcoker命令在线速查手册

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022-09-03,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 容器生命周期管理
    • Docker创建新容器并运行run
      • Dcoker start/stop/restart
        • docker start 容器名:启动一个或多少已经被停止的容器
        • docker stop 容器名:停止一个运行中的容器
        • docker restart 容器名:重启容器
      • Docker杀死运行中的容器kill
        • Docker删除一个或者多个容器rm
          • Docker创建新容器但不启用create
            • Docker容器暂停和恢复pause/unpause
              • docker pause :暂停容器中所有的进程
              • docker unpause :恢复容器中所有的进程
          • 容器操作
            • 查看本地正在运行的容器ps
              • Docker查看容器中运行的进程信息top
                • Dcoker获取容器的日志logs
                  • Docker列出指定的容器的端口映射port
                  • Docker info|version|status
                    • Docker版本信息查看version
                      • 查看Docker系统信息info
                        • Docker服务状态查看systemctl status
                        • Docker本地镜像管理
                          • 查看本地镜像列表images
                            • Docker删除本地一个或多少镜像rmi
                              • Docker给本地镜像打标签tag
                                • Docker使用Dockerfile创建镜像build
                                  • Dcoker查看指定镜像的创建历史history
                                  • 镜像仓库相关
                                    • 登录/退出Docker镜像仓库login/logout
                                      • Docker从镜像仓库中拉取或者更新指定镜像pull
                                        • Docker将本地的镜像上传到镜像仓库push
                                          • 查询Docker Hub镜像search
                                            • 从Docker Hub查找所有镜像名包含redis,并且收藏星数大于10的镜像
                                            • 从Docker Hub查找所有镜像名包含redis的镜像
                                        • Docker学习系列文章
                                        • 参考文章
                                        相关产品与服务
                                        容器服务
                                        腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
                                        领券
                                        问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档