当前位置: 首页 > ds >正文

docker常用命令

一 常用命令

参数说明

 基本参数

-d 或 --detach后台运行容器(守护进程模式)
--name <容器名>为容器指定一个名称
-it交互式运行容器(-i 保持 STDIN 打开,-t 分配伪终端)
--rm容器退出后自动删除

--restart <策略>

容器退出时的重启策略(noon-failurealwaysunless-stopped

网络参数

-p <主机端口>:<容器端口>端口映射(-p 80:80 将主机的 80 端口映射到容器的 80 端口)
--network <网络>指定容器使用的网络(bridgehostnone 或自定义网络)
--hostname <主机名>设置容器的主机名
--dns <DNS服务器>指定 DNS 服务器

存储与卷

-v <主机路径>:<容器路径>挂载主机目录到容器(-v /data:/app/data
--mount type=bind,source=<主机路径>,target=<容器路径>更灵活的挂载方式
--volumes-from <容器名>从其他容器挂载卷
-e <变量名>=<值>设置环境变量

资源限制

--memory <限制>限制内存(--memory 512m 表示最多 512MB)
--cpus <数量>限制 CPU 使用(--cpus 1.5 表示最多使用 1.5 个 CPU)
--memory-swap <限制>限制内存 + Swap
--ulimit <参数>

设置 ulimit 限制(如 --ulimit nofile=1024:2048

二 完整操作流程

        查看docker镜像:docker imags

        创建docker:

注:指定镜像有三种方法

  • IMAGE:指定要使用的镜像名称(如 nginxubuntu
  • TAG:镜像标签(如 nginx:1.23,默认 latest
  • DIGEST:镜像哈希值(docker images命令的“IMAGE ID”列,比如c148cb6e5b90)

拉起docker命令:

docker run -d \
    --name my_test \
    -p 8080:80 \
    -it    \
    -v /home:/home \
    --cpus 2 \
    --memory 1g \
    --memory-swap 1g \
    -e TZ=Asia/Shanghai \
    c148cb6e5b90

        查看运行docker: docker ps

        进入docker: docker exec -it my_test /bin/bash

        退出docker:  docker内部运行 exit

        根据现有docker提交一个新docker: docker commit my_test my_new_docker 

                

        删除正在运行的docker: docker rm -f my_test

        删除docker镜像: docker rmi my_nes_docker

三 docker运行时信息

查看docker占用的资源: 

# 查看所有容器的资源使用(实时刷新)
docker stats# 查看指定容器的单次统计
docker stats --no-stream my_nginx# 仅显示CPU和内存
docker stats --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}"

docker stats命令如下:

CONTAINER ID       容器的uuid

NAME                      运行时容器名称

CPU %                     CPU当前使用率

MEM USAGE / LIMIT   MEM %    当前使用的内存/最大内存使用限制

NET I/O                    网络IO

BLOCK I/O               磁盘IO

PIDS                        docker内部的进程数量

http://www.xdnf.cn/news/785.html

相关文章:

  • C语言究竟是一门怎样的语言
  • PyCharm使用Anaconda 中的虚拟环境
  • firewall指令
  • 存储图表数据的模板类QCPDataContainer
  • Vue.js核心功能实现
  • 线性DP:最长上升子序列(子序列可不连续,子数组必须连续)
  • vuex实现同一页面radio-group点击不同按钮显示不同表单
  • nrf52840 16通道adc+DMA采集电压 C语言代码
  • Linux系统编程---孤儿进程与僵尸进程
  • 【python】尾部多写个逗号会把表达式变成 tuple
  • 俄罗斯方块-简单开发版
  • 企业工商信息查询API接口开发指南 - 基于模糊检索的工商数据补全方案
  • 报告总结笔记 | Jeff Dean ETH AI趋势 笔记:AI 的重要趋势:我们是如何走到今天的,我们现在能做什么,以及我们如何塑造 AI 的未来?
  • 边缘损失函数
  • 面向对象编程的四大特性详解:封装、继承、多态与抽象
  • 远程服务调用的一些注意事项
  • 栈和队列(C语言)
  • 抱佛脚之学SSM一
  • AIGC-几款医疗健康智能体完整指令直接用(DeepSeek,豆包,千问,Kimi,GPT)
  • 阿里HumanAIGC 团队开源实时数字人项目ChatAnyone
  • 正则化和优化策略
  • 体育用品有哪些·棒球1号位
  • 脚本中**通配符用法解析
  • 【CentOs】构建云服务器部署环境
  • 基数平衡多伯努利滤波器(CB-MBM):基于约束优化的多目标数量与存在概率联合估计方法
  • 在Fortran和Python之间共享变量
  • 一个Nuxt3 SSR服务端渲染简洁好用的开源个人博客系统 交互设计体验简单 腾讯markdown编辑器 支持drawio画图
  • STM32开发过程中碰到的问题总结 - 4
  • [Windows] 星光桌面精灵 V0.5
  • OSI七层模型