docker 常用方法

news2024/11/7 12:56:56

目录

docker参数解释

基础信息和环境变量设置

容器运行和管理相关参数

数据卷挂载

GPU 相关参数

镜像相关参数


查看现有的镜像

docker images

查看正在运行的docker

docker ps

1、docker启动停止及查看状态
启动docker:
systemctl start docker

停止docker:
systemctl stop docker

重启docker:
systemctl restart docker

查看docker状态:
systemctl status docker

开机启动:
systemctl enable docker
docker version
docker info
docker --help

2、镜像命令
查看镜像
docker images
搜索镜像
docker search 某个XXX镜像名字
下载镜像
docker pull 镜像名字[:TAG]
docker rmi 某个XXX镜像名字ID
删除镜像
删除单个
docker rmi -f 镜像ID
删除多个
docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除全部
docker rmi -f $(docker images -qa)

3、容器命令
3.1 新建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
OPTIONS说明
OPTIONS说明(常用):有些是一个减号,有些是两个减号
–name=“容器新名字”: 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
#使用镜像centos:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it centos /bin/bash

3.2 列出当前所有正在运行的容器
docker ps [OPTIONS]
OPTIONS说明
OPTIONS说明(常用):
-a :列出当前所有正在运行的容器+历史上运行过的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
–no-trunc :不截断输出。

3.3 容器启动、停止、退出、删除
退出容器,两种退出方式
exit 容器停止退出
ctrl+P+Q 容器不停止退出
启动容器
docker start 容器ID或者容器名
重启容器
docker restart 容器ID或者容器名
停止容器
docker stop 容器ID或者容器名
强制停止容器
docker kill 容器ID或者容器名
删除已停止的容器
docker rm 容器ID
一次性删除多个容器
docker rm -f $(docker ps -a -q)
docker ps -a -q | xargs docker rm

3.4 重要
启动守护式容器
docker run -d 容器名

查看容器日志
docker logs -f -t --tail 容器ID
-t 是加入时间戳
* -f 跟随最新的日志打印
* --tail 数字 显示最后多少条

查看容器内运行的进程
docker top 容器ID

查看容器内部细节
docker inspect 容器ID

进入正在运行的容器并以命令行交互
docker exec -it 容器ID bashShell
docker exec -it 1212221 /bin/bash

重新进入docker attach 容器ID
上述两个区别
attach 直接进入容器启动命令的终端,不会启动新的进程
exec 是在容器中打开新的终端,并且可以启动新的进程

从容器内拷贝文件到主机上
docker cp 容器ID:容器内路径 目的主机路径
从主机内拷贝文件到容器上
docker cp 目的主机路径 容器ID:容器内路径

docker commit提交容器副本使之成为一个新的镜像
docker commit -m=“提交的描述信息” -a=“作者” 容器ID 要创建的目标镜像名:[标签名]

保存docker镜像
docker save -o es.tar elasticsearch
导入docker镜像
docker load -i /home/es.tar

docker参数解释

NAME=split:v0.0.49.gpu docker run -e SLEEP_FOR_TEST=1 --rm --name lbg -it --network=host \ -v /shared_disk/users/liuzhichao/data:/data -v /shared_disk/:/shared_disk/ -v /mnt:/mnt --gpus '"device=7"' \ -e NVIDIA_VISIBLE_DEVICES=7 -e NVIDIA_MEM_LIMIT=12288 \ gigahubnew-cn-beijing.cr.volces.com/gigaai/algo/giga_data_platform_video_$NAME 这些参数什么意思

以下是对上述 docker run 命令中各个参数的详细解释:

基础信息和环境变量设置

  • NAME=split:v0.0.49.gpu:定义了一个名为 NAME 的环境变量,其值为 split:v0.0.49.gpu。这个变量可能在后续的容器运行过程中被引用,用于指定特定的版本或配置等信息 。
  • -e SLEEP_FOR_TEST=1:向容器内传递一个名为 SLEEP_FOR_TEST 的环境变量,并将其值设置为 1。容器内的应用程序可以读取这个环境变量来决定是否进行一些与测试相关的等待或特定操作。
  • -e NVIDIA_VISIBLE_DEVICES=7:指定容器内可见的 NVIDIA GPU 设备为设备号 7。这意味着容器中的应用程序只能访问和使用这一个指定的 GPU 设备。
  • -e NVIDIA_MEM_LIMIT=12288:设置容器可以使用的 NVIDIA GPU 内存限制为 12288,这里的单位可能是根据具体的配置或约定来确定的,比如可能是 MB 等。通过限制内存使用,可以防止容器内的应用程序过度占用 GPU 内存,影响其他应用或系统的正常运行。

容器运行和管理相关参数

  • --rm:表示在容器退出时自动删除容器。这样可以避免容器在运行完成后仍然占用系统资源,方便清理和管理。
  • --name lbg:为运行的容器指定一个名称为 lbg。通过这个名称,可以方便地对容器进行操作和管理,例如查看容器的状态、停止或重启容器等。
  • -it:表示以交互模式运行容器,并为容器分配一个伪终端。这使得用户可以在容器启动后直接与容器内的 shell 进行交互,方便进行调试、执行命令等操作。

数据卷挂载

  • -v /shared_disk/users/liuzhichao/data:/data:将宿主机上的 /shared_disk/users/liuzhichao/data 目录挂载到容器内的 /data 目录。这样,容器内的应用程序就可以访问和操作宿主机上对应目录中的数据,实现数据的共享和持久化存储。
  • -v /shared_disk/:/shared_disk/:将宿主机上的整个 /shared_disk/ 目录挂载到容器内的同名目录 /shared_disk/。类似地,这使得容器内的应用程序能够访问宿主机上该目录下的所有数据和文件。
  • -v /mnt:/mnt:将宿主机上的 /mnt 目录挂载到容器内的 /mnt 目录,实现这两个目录之间的数据共享和交互。

GPU 相关参数

  • --gpus '"device=7"':明确指定容器使用的 GPU 设备为设备号 7,这是一种更明确地指定 GPU 设备的方式,与前面的 NVIDIA_VISIBLE_DEVICES 环境变量起到类似的作用,但在某些情况下可能提供更精细的 GPU 资源分配和管理。

镜像相关参数

  • gigahubnew-cn-beijing.cr.volces.com/gigaai/algo/giga_data_platform_video_$NAME:指定要运行的 Docker 镜像的名称和路径。其中 $NAME 会被前面定义的 NAME 环境变量的值所替换,从而确定具体要运行的镜像版本,例如可能会实际运行 gigahubnew-cn-beijing.cr.volces.com/gigaai/algo/giga_data_platform_video_split:v0.0.49.gpu 这个镜像。

这些参数共同作用,使得 Docker 容器能够在特定的配置和环境下运行,并与宿主机进行有效的数据交互和资源共享,以满足特定应用程序的运行需求。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2235023.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

普吕克线( Plücker 线)

普吕克线 在 Plcker 坐标表示中,一条直线 l ‾ 1 \underline{l}_1 l​1​可以用以下两个向量来表示: l ‾ 1 l 1 ϵ m 1 \underline{l}_1 l_1 \epsilon m_1 l​1​l1​ϵm1​ 方向向量 l 1 l_1 l1​:表示直线的方向。动量向量 m 1 m_…

SLMi350DB-DG适用于驱动低边侧和高边侧的MOSFET和IGBT 兼容光耦的单通道隔离驱动器

SLMi350DB-DG是一款兼容光耦的单通道隔离驱动器,具有4A/7A源电流/灌电流以及3.75kVRMS隔离耐压值,适用于驱动低边侧和高边侧的MOSFET和IGBT。与光耦栅极驱动器相比,SLMi350DB-DG具有高共模瞬态抗扰度(CMTI)、低传播延迟和较小的脉宽失真等关键…

帕金森患者必看!这些维生素能帮你改善生活质量!

帕金森病,这个看似遥远的疾病,却悄然影响着许多人的生活质量。作为一种慢性神经退行性疾病,帕金森不仅会导致患者的运动能力受限,还会引发一系列非运动性症状,如便秘、情绪波动等。然而,你知道吗&#xff1…

5G智能对讲终端|北斗有源终端|北斗手持机|单兵|单北斗

在当今这个快速发展的数字化时代,5G技术的广泛应用正以前所未有的速度推动着各行各业的变革。作为这一技术浪潮中的重要一环,5G智能终端QM630D凭借其卓越的性能和多样化的功能,在林业、渔业、安保、电力、交通等多个领域展现出了巨大的应用潜…

【comfyui教程】ComfyUI有趣工作流推荐:快速换脸,创意随手掌握!

前言 在数字影像处理和创意表达领域,ComfyUI 绝对是你的得力助手!今天我们推荐一个非常有趣的工作流——快速换脸。无论你是图像编辑小白,还是深耕AI影像的达人,这个工作流都能让你快速实现面部迁移,体验全新的照片玩…

GPT原理;ChatGPT 等类似的问答系统工作流程如下;当用户向 ChatGPT 输入一个问题后:举例说明;ChatGPT不是通过索引搜索的传统知识库

目录 GPT原理 GPT架构 GPT 主要基于 Transformer 的解码器部分 ChatGPT 等类似的问答系统工作流程如下: 用户输入 文本预处理 模型处理 答案生成 输出回答 当用户向 ChatGPT 输入一个问题后:举例说明 文本预处理: ChatGPT不是通过索引搜索的传统知识库 GPT GPT…

Linux云计算 |【第五阶段】CLOUD-DAY8

主要内容: 掌握DaemonSet控制器、污点策略(NoSchedule、Noexecute)、Job / CronJob资源对象、掌握Service服务、服务名解析CluterIP(服务名自动发现)、(Nodeport、Headless)、Ingress控制器 一…

基于Zynq FPGA对雷龙SD NAND的测试

一、SD NAND 特征 1.1 SD 卡简介 雷龙的 SD NAND 有很多型号,在测试中使用的是 CSNP4GCR01-AMW 与 CSNP32GCR01-AOW。芯片是基于 NAND FLASH 和 SD 控制器实现的 SD 卡。具有强大的坏块管理和纠错功能,并且在意外掉电的情况下同样能保证数据的安全。 …

探索空间计算与 VR 设备的未来:4K4DGen 高分辨率全景 4D 内容生成系统

在当今科技飞速发展的时代,空间计算和 VR 设备正逐渐成为人们体验沉浸式场景的重要工具。而今天,我们要为大家介绍一款具有创新性的技术 ——4K4DGen 高分辨率全景 4D 内容生成系统,它为 VR/AR 沉浸式体验带来了全新的可能性。 一、项目概述 4K4DGen 项目的核心目标是实现 …

使用官网tar包制作OpenSSL及OpenSSH rpm包进行升级安装(OpenSSH_9.9p1, without OpenSSL未解决)

一、制作openssl-1.1.1w.rpm包 1、安装基础依赖包和rpmbuild及其依赖包 yum install curl which make gcc perl perl-WWW-Curl rpm-build rpm-build rpmdevtools tree -y yum install gcc-c glibc glibc-devel openssl openssl-devel \pcre-devel zlib zlib-devel perl…

Node.js回调函数以及事件循环使用介绍(基础介绍 三)

回调函数 Node.js 异步编程的直接体现就是回调。 异步编程依托于回调来实现,但不能说使用了回调后程序就异步化了。 回调函数在完成任务后就会被调用,Node 使用了大量的回调函数,Node 所有 API 都支持回调函数。 例如,我们可以…

Linux(CentOS)安装 MySQL

CentOS版本:CentOS 7 MySQL版本:MySQL Community Server 8.4.3 LTS 1、下载 MySQL 打开MySQL官网:https://www.mysql.com/ 直接下载网址:https://dev.mysql.com/downloads/mysql/ 其他版本 2、上传 MySQL 文件到 CentOS 使用F…

服务器被攻击排查记录

起因 我的深度学习的所有进程突然被killed,我以为是检修,后面发现好像简单的python代码可以正常运行。但是我的训练进程一启动就会被killed 第一时间没有用htop查看cpu,用top看着挺正常的,但是后面看htop,全是绿的&a…

TDengine 签约蘑菇物联,改造通用设备工业互联网平台

在当前工业互联网迅猛发展的背景下,企业面临着日益增长的数据处理需求和智能化转型的挑战。通用工业设备的高能耗问题愈发突出,尤其是由这些设备组成的公辅能源车间,亟需更高效的解决方案来提升设备运行效率,降低能源消耗。为此&a…

【大数据学习 | kafka高级部分】文件清除原理

2. 两种文件清除策略 kafka数据并不是为了做大量存储使用的,主要的功能是在流式计算中进行数据的流转,所以kafka中的数据并不做长期存储,默认存储时间为7天 那么问题来了,kafka中的数据是如何进行删除的呢? 在Kafka…

TOEIC 词汇专题:市场销售篇

TOEIC 词汇专题:市场销售篇 市场销售是企业推广产品和树立品牌形象的重要环节。今天为大家介绍在市场销售领域中常用的托业词汇,助力更好地理解相关英语场景。 1. 市场推广与活动 市场销售离不开推广活动,以下是一些核心词汇: A…

基于 Vue3、Vite 和 TypeScript 实现开发环境下解决跨域问题,实现前后端数据传递

引言 本文介绍如何在开发环境下解决 Vite 前端(端口 3000)和后端(端口 80)之间的跨域问题: 在开发环境中,前端使用的 Vite 端口与后端端口不一致,会产生跨域错误提示: Access to X…

OpenCV-Python-安装环境与测试样例

本文使用Pycharm安装openCV 1.打开pycharm终端 (GUI是我自己创建的项目名称) 错误:终端如果打开闪退的话 应对如下: 汉化版:文件->设置->工具->终端->红框位置设置cmd 英文版:file->settings->Tools->t…

Spark on YARN:Spark集群模式之Yarn模式的原理、搭建与实践

Spark 的介绍与搭建:从理论到实践-CSDN博客 Spark 的Standalone集群环境安装与测试-CSDN博客 PySpark 本地开发环境搭建与实践-CSDN博客 Spark 程序开发与提交:本地与集群模式全解析-CSDN博客 目录 一、Spark on YARN 的优势 (一&#…

基于IM场景下的Wasm初探:提升Web应用性能|得物技术

一、何为Wasm ? Wasm,全称 WebAssembly,官网描述是一种用于基于堆栈的虚拟机的二进制指令格式。Wasm被设计为一个可移植的目标,用于编译C/C/Rust等高级语言,支持在Web上部署客户端和服务器应用程序。 Wasm 的开发者参…