xSky 实验室关注高性能计算,分布式系统/存储,大数据/机器学习/WebRTC
目录
  • 首页
  • 技术相关
  • 原创作品
  • 人工智能/机器学习
  • 系统与架构
  • 数据库/数据分析
  • 分布式系统/存储
  • 服务端开发
  • WEBRTC研究
  • 开发调试
  • 网络与安全
  • 常用工具
  • 杂七杂八

Docker常用命令

2022-10-27 09:48:32

Docker容器的一些命令按功能分类大致如下

Docker环境信息   info、version
镜像仓库命令      login、logout、pull、push、search
镜像管理          build、images、import、load、rmi、save、tag、commit
容器生命周期管理  create、exec、kill、pause、restart、rm、run、start、stop、unpause
容器运维操作      attach、export、inspect、port、ps、rename、stats、top、wait、cp、diff、update
容器资源管理      volume、network
系统信息日志      events、history、logs

1.events打印容器的实时系统事件
2.history 打印出指定镜像的历史版本信息
3.logs打印容器中进程的运行日志

 

列出本地镜像

docker images -a            #列出本地所有的镜像
docker images -q            #只显示镜像ID
docker images --digests     #显示镜像的摘要信息
docker images --no-trunc    #显示完整的镜像信息

 

查看容器

# 查看正在运行的容器
docker ps
# 查看所有容 包括停止的容器
docker ps -a
# -q参数,只显示container id
docker ps -q
# 查看容器详细信息
docker inspect demo1

 

容器启动与停止

#新建并启动容器,参数:-i  以交互模式运行容器;-t  为容器重新分配一个伪输入终端;--name  为容器指定一个名称
docker run -i -t --name mycentos 镜像名称/镜像ID

#后台启动容器,参数:-d  已守护方式启动容器
docker run -d mycentos

#启动止容器
docker start 容器id
# 重启容器
docker restart 容器id
# 关闭容器
docker kill 容器id
docker stop 容器id

-t 参数让Docker分配一个伪终端并绑定到容器的标准输入上
-i 参数则让容器的标准输入保持打开。
-c 参数用于给运行的容器分配cpu的shares值
-m 参数用于限制为容器的内存信息,以 B、K、M、G 为单位
-v 参数用于挂载一个volume,可以用多个-v参数同时挂载多个volume
-p 参数用于将容器的端口暴露给宿主机端口 格式:host_port:container_port 或者 host_ip:host_port:container_port
--name 容器名称
--net 容器使用的网络
-d 创建一个后台运行容器

 

#运行centos镜像
[root@izbp1hcw0fjg64l58525bqz ~]# docker run -it centos
# 查看镜像文件目录
[root@9ec4a30b3209 /]# ls
bin  dev  etc  home  lib  lib64  lost+found  media  mnt  opt  proc  root  run  sbin  srv  sys  tmp  usr  var
[root@9ec4a30b3209 /]#exit
#并没有运行中的镜像
[root@izbp1hcw0fjg64l58525bqz ~]# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

 

删除镜像命令

#单个镜像删除,相当于:docker rmi java:latest
docker rmi java
#强制删除(删除正在运行的镜像,注:以后台方式运行的不能被强制删除)
docker rmi -f java
#多个镜像删除,不同镜像间以空格间隔
docker rmi -f java tomcat nginx
#删除本地全部镜像
docker rmi -f $(docker images -q)

 

 

 

下载镜像:docker pull nginx:1.21.1
查看本地镜像列表:docker images
导出镜像:docker save nginx:1.21.1 -o
删除镜像:docker rm 993ef3592f66 #镜像id
导入镜像:docker image load -i nginx.tar.gz
导入镜像:docker image import nginx。tar.gz #这样的导入时没有名字的镜像
给镜像打tag:docker image tag 993ef3592f66 nginx:nginx_test
清除无效镜像:docker image prune
构建镜像:docker image build -t nginx_file_slx:v1
查看构建历史:docker image history contos:7 --no-trunc

 

查看已经创建的容器:docker container ps -a
运行一个创建的容器:docker container start b0a46280a223
停止一个正在运行的容器:docker container stop elastic_albattani
重启容器:docker container restart b0a46280a223
创建并启动一个容器(run=create+start):docker container run -it --name contos_slx centos:7
-i : interactive  表示交互的类型
-t:terminal  表示启动一个终端
-d:让容器在后台运行,默认的情况下,容器是在前台运行的,这意味会阻塞当前终端
--name:创建容器的时候指定名字
注意:docker run的时候。所有的参数,必须写在镜像名称的前面
删除容器:docker container rm -f 镜像id
批量删除容器:docker container rm -f `docker container ps -a -q`
进入荣区并不创建新的终端:docker container attach 镜像id
进入容器并创建新的终端:docker container exec -it 镜像id /bin/bash
强杀容器:docker container kill 镜像名称
显示正在运行的容器中的进程:docker container top 镜像id
对镜像的名称进行重命名:docker container rename practical_nash nginx_slx
获取容器的启动日志:docker container logs -f nginx_slx
查看前5行:docker container logs -f -n 5  nginx_slx
将宿主机的数据拷贝到容器内:docker exec -it 91140337635e /bin/bash
显示容器资源使用统计信息的实时流:docker container stats --no-stream
暂停容器运行:docker container pause nginx_slx
恢复容器运行:docker container unpause nginx_slx
docker wait 命令可以用于阻塞一个或多个 Docker容器 直到容器停止,然后打印退出代码
将容器的文件系统导出为tar存档:docker container export nginx_slx -o nginx.tar.gz
显示一个或者多个容器的详细信息:docker container inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'  nginx_slx
推荐阅读:
    https://docs.docker.com/engine/reference/commandline/inspect/
参考文档:

Docker 命令大全

 
 

By:xSky | 常用工具 |

  • 分类目录

    • 技术相关 (34)
    • 原创作品 (13)
    • 人工智能/机器学习 (6)
    • 系统与架构 (9)
    • 数据库/数据分析 (11)
    • 分布式系统/存储 (4)
    • 服务端开发 (7)
    • WEBRTC研究 (7)
    • 开发调试 (7)
    • 网络与安全 (9)
    • 常用工具 (9)
    • 杂七杂八 (6)
  • 最新文章

    • WSL从C盘迁移到其他盘区
    • 赵何娟:中国AI追随之路的五大误区,我们至少落后十年
    • zap  发送日志到 websocket
    • QUIC(隐藏的)超能力
    • MYSQL 生成日期/时间序列总结
    • Linux bash终端设置代理(proxy)访问
    • centos 下 yum安装python3
    • 使用SQL查询Milvus 向量数据库
    • 浅谈 MySQL 新的身份验证插件 caching_sha2_password
    • Milvus v2.2.1 开源向量搜索引擎使用教程
    • 部署了一个SRS的demo
    • Dockerfile 详解
    • Docker常用命令
    • Tus文件上传协议
    • 编译运行Milvus
    • MinIO 快速入门
    • ESP32
    • Prometheus监控报警系统搭建
    • go语言JSON字典模拟
    • go语言的sql解析器
    • Grafana配置数据源,自定义查询语法
    • TDengine + Telegraf + Grafana
    • gRPC-Gateway 返回JSON数据int64类型被转为string类型问题
    • LLAMA模型试玩
    • 语音识别的一些开源项目整理
    • 使用MYSQL8进行统计分析
    • 记录FFmpeg抽帧、合流、转码、加水印等操作
    • 移动网络弱网处理研究
    • 翻译:使用 Semgrep 进行热点代码评审
    • 共享内存并发路线图
  • 链接

    • xSky的Blog
    • 我的Github
    • 实时监控图表
    • 预印本
    • xRedis 在线文档
    • xSkyProxy
    • xChart 数据在线测试
    • 我的电子书
    • xChart 数据可视化系统
    • 树莓派技术圈
    • WebRTC开发者社区
  • 开源项目

    • xReis C++的redis客户端库
    • xBlog-C++ 博客程序
    • xSkyProxy-新型MySQL代理网关
    • 数据可视化平台- xChart
    • xhttpcache 高速数据缓存服务
    • xMonitor-图形监测工具
    • 网址收集

Powered By xBlog

Copyright 2010~2024 0xsky.com All Rights Reserved.