Docker基本使用
查看本地镜像
查看本地:docker imagesPull镜像:docker pull nginx:latest登录镜像:docker login hub.docker.com -u **** -p ****制作镜像:docker build -t xxxx:v1push:docker push xxx:v1删除镜像:docker rmi #imagesName#
容器操作
运行容器
docker run --name mynginx-test -it(进入shell) --rm(停止后删除) -p 9080:80 (容器80) test/mynginx:v1
docker run -d name:v1进入docker容器
docker exec -it mynginx-test bash查看容器
docker ps删除容器
docker rm #ContainerName#
docker rm # ContainerId#
——————————————————————————————————————
实际操作
使用镜像步骤
(1)没有容器的情况下,先pull拉取镜像,通过docker images查看是否拉取到。docker pull testdocker images(2) 使用任意命令启动容器:docker run --name test -it(进入shell) --rm(停止后删除) -p 9080:80 (容器80) --privileged(ROOT) containerName查看容器状态docker ps -adocker run -d -t --name hello-world -p 8762:8762 -v /home/app/hello.jar:/home/app/hello.jar java8 java -jar /home/app/hello.jar --spring.profiles.active=dev-d 表示在后台启动-p 8762:8762 表示将容器的端口 映射成宿主主机的端口,否则8762端口访问不到-v /home/app/hello.jar:/home/app/hello.jar 表示将宿主主机的jar文件,映射到容器中(分号前为宿主主机的路径,分号后为容器中的路径)
--name hello-world表示为该容器取一个全局唯一的名称,这里我取的名称为hello-world(3)使用exec命令进入容器,进行操作。docker exec -it (进入shell) containerName /bin/bash
例如下:
拉取容器:sudo docker pull gggmt/cuda101_yolov5sudo docker run --name test(自己创建的本地容器名) -it --rm -p 9080:80 my_torch(镜像名)查看容器内容:sudo docker image sudo docker ps -a (容器名)sudo docker ps -al (容器)
此时我们可以观察一下当前的容器(docker ps -al)与之前的镜像(docker images),可以看到容器与镜像同时独立存在,并且可以看到在容器中正在运行的项目(交互shell,即/bin/bash)。
进入容器命令行:sudo docker run -i -t gggmt/cuda101_yolov5:v1 /bin/bash(v1要指定版本号,默认下载latest)
拷贝数据
1、从主机往容器中拷贝
eg:将主机/tmp目录拷贝到容器b的/test目录下。
docker cp /tmp b:/test/
2、将容器中文件拷往主机
eg:将容器b的/test目录拷贝到主机的/tmp目录中。
docker cp b:/test /tmp/
eg:将主机/tmp目录拷贝到容器b中,目录重命名为test02。
docker cp /tmp b:/test02
原文:https://www.runoob.com/docker/docker-cp-command.html
如何提交自己的镜像
假设我们在容器里安装了新的软件包并且跑通了自己的项目,现在打算把容器提交成镜像分享。
(1)首先查看容器的ID
docker ps -al
这里假设id为:c93dbf2aa0f4
(2)将容器提交到镜像中,同时我们给它指定新的名字
(docker commit [ID] [NEW_name])
(3)提交完成后我们再查看本机存在的镜像
docker images
(4)可以选择两种方式:
第一种:将镜像上传到阿里云镜像仓库中
https://zhuanlan.zhihu.com/p/31772428
第二种:除了上传云镜像库,我们也可以直接将镜像打包成一个独立文件,拷贝分享给别人使用。
(1)docker images
(2)docker save -o test(name).tar test(name)
参考:
https://zhuanlan.zhihu.com/p/31772428
删除镜像和容器
这里注意的是,要删除镜像的话,必须先删除容器。另外,需要先停止容器,再删除。
删除镜像的最佳做法是:先停止容器,再删除容器,最后删除镜像。
删除容器的最佳做法是:先停止容器,再删除容器。
删除容器
(1)查看Docker中的容器,例如:test,容器ID为23f(前三个字符),并删除容器docker ps -a(2)删除容器docker rm 23f(3)容器还在运行,不能删除,先停止运行再删除,或直接强制删除停止容器:docker stop 23fdocker ps -a
删除镜像
1、查看Docker要删除的镜像,如目标版本为stable-perl的test,镜像ID(IMAGE ID)为 66f4565。docker images2、使用命令“docker rmi 镜像ID”删除test(stable-perl)的镜像,只取“IMAGE ID”的前3个字符即可。docker rmi 66f如果没有删除容器,会出现错误:意思是镜像(66f)存在使用中的容器(23f),不能强制删除镜像。官方的意思是要先停止容器运行,再进行镜像的删除操作吗?3、查看Docker运行中的容器,如容器 test:stable-perl ,容器ID为 23f。docker ps4、先停止容器(23f),再删除镜像(66f)docker stop 23fdocker rm 23fdocker rmi 66f5、最后检查是否删除docker ps -a
遇到的问题(已经有了容器的相关操作)
如何进入已经退出的容器呢?
docker ps -a 查看<container-name/ID>
启动已停止的现有容器
docker start <container-name/ID>
停止正在运行的容器
docker stop <container-name/ID>
然后登录到容器的交互式shell。
docker exec -it <container-name/ID> bash
参考:
https://blog.csdn.net/u014282578/article/details/127866389?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522169138088916800226548821%2522%252C%2522scm%2522%253A%252220140713.130102334…%2522%257D&request_id=169138088916800226548821&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2blogtop_positive~default-1-127866389-null-null.268v1control&utm_term=docker%E5%88%A0%E9%99%A4%E9%95%9C%E5%83%8F&spm=1018.2226.3001.4450&ydreferer=aHR0cHM6Ly9zby5jc2RuLm5ldC9zby9zZWFyY2g%2Fc3BtPTEwMDEuMjEwMS4zMDAxLjQ0OTgmcT1kb2NrZXIlRTUlODglQTAlRTklOTklQTQlRTklOTUlOUMlRTUlODMlOEYmdD1ibG9nJnU9#t1
附docker常用命令:
重启docker服务 sudo service docker restart关闭docker服务 docker service docker stop开启docker服务 docker service docker start查看当前运行的容器:docker ps查询存在的容器:docker ps -a删除容器:docker -rm CONTAINERID 强制删除容器:docker -rm -f CONTAINERID 不能够删除一个正在运行的容器,会报错。需要先停止容器。查看镜像:docker images删除镜像:docker -rmi IMAGEID 强制删除镜像:docker -rmi -f IMAGEID 利用镜像创建容器:docker run --name centos -itd centos:latest
进入后台运行的容器:docker exec -it containname /bin/bash启动容器:docker start containername停止容器:docker stop containername停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q)如果想要删除所有container的话再加一个指令: docker rm $(docker ps -a -q)注:-a标志列出所有容器,-q标志只列出容器的ID,然后传递给rm命令删除全部image的: docker rmi $(docker images -q)重命名一个容器:docker rename old_name new_name要获取所有容器名称及其IP地址:
docker inspect -f '{{.Name}} - {{.NetworkSettings.IPAddress }}' $(docker ps -aq)
附:https://blog.csdn.net/ithaibiantingsong/article/details/81353168
!
相关文章:

Docker基本使用
查看本地镜像 查看本地:docker imagesPull镜像:docker pull nginx:latest登录镜像:docker login hub.docker.com -u **** -p ****制作镜像:docker build -t xxxx:v1push:docker push xxx:v1删除镜像:docker rmi #imag…...
PHP生成随机数
要在 PHP 中生成随机密码,可以使用 rand() 函数和字符串操作函数。以下是一个示例代码来生成包含字母、数字和特殊字符的随机密码 function generateRandomPassword($length 8) {// 定义包含字母、数字和特殊字符的字符集$characters abcdefghijklmnopqrstuvwxyz…...

MongoDB:Unrecognized option: storage
MongoDB一直显示 Unrecognized option: storage try ‘mongod --help’ for more information 意思是我们配置的config文件出了问题。 说明:MongoDB采用的是YAML格式,所以我们只需要稍微改改就好。 在storage前面:没有空格 下面两行最前面…...
Java基础九 - 异常
1. throw 和 throws 1. throw是在代码运行过程中引起一个异常 2. throws是将异常声明但是不处理,而是将异常往上传,谁调用我就交给谁处理 2. final、finally、finalize 1. final是修饰符,用于修饰变量、方法、类修饰变量,最开始…...
[国产MCU]-BL602开发实例-UART数据发送与接收
UART数据发送与接收 文章目录 UART数据发送与接收1、BL602的UART介绍2、UART相关驱动API介绍3、UART使用示例3.1 轮询方式数据接收与发送3.2 中断方式数据接收与发送3.3 DMA方式接收与发送数据通用异步收发传输器(Universal Asynchronous Receiver/Transmitter,通常称为UART)…...

mac安装open3d时候出现错误
在测试open3d是否正常顺利安装时,出现了如下错误: python -c "import open3d as o3d; print(o3d.__version__)" Traceback (most recent call last):File "<string>", line 1, in <module>File "/Users/huangzhe/…...

打造本地户外装备小程序商城教程大揭秘
在如今的移动互联网时代,小程序已经成为了各行各业的发展利器。尤其对于户外用具行业来说,一个专属的小程序商城将能够极大地提升企业的品牌形象和销售业绩。下面就来介绍一下快速上手制作户外用具小程序的攻略吧。 首先,登录乔拓云平台进入商…...

在外SSH远程连接Ubuntu系统
在外SSH远程连接Ubuntu系统【无公网IP】 文章目录 在外SSH远程连接Ubuntu系统【无公网IP】前言1. 在Ubuntu系统下安装cpolar软件2. 完成安装后打开cpolar客户端web—UI界面3. 创建隧道取得连接Ubuntu系统公网地址4. 打开Windows的命令界面并输入命令 前言 随着科技和经济的发展…...
GOTS标准速递---7.0 版将于2024年3月1日起全面生效
【GOTS标准速递---7.0 版将于2024年3月1日起全面生效】 全球有机纺织品标准很高兴地宣布发布GOTS 7.0 版,该版本扩大了环境和社会标准的范围,同时保持了适用于工业生产并适用于各种产品的标准。在为期一年的定期修订过程中,在有机生产、纺织品…...

Ansible的安装和配置
安装和配置 Ansible 安装所需的软件包 创建名为 /home/greg/ansible/inventory 的静态清单文件,以满足以下要求: 172.25.250.9 是 dev 主机组的成员 172.25.250.10 是 test 主机组的成员 172.25.250.11 和 172.25.250.12 是 prod 主机组的成员 172.2…...

口-肠-脑轴与精神健康的关系
谷禾健康 在个体中,每个微生物栖息地都表现出独特的微生物种群模式。迄今为止,关于微生物组相关疾病的研究主要集中在器官特异性微生物组上。然而,器官间的微生物网络正逐渐成为生理功能和病理过程中的重要调节因子和治疗机会。 在正常情况下…...

Dubbo是干嘛的,Dubbo原理和机制,Dubbo的核心组件
目录 一、介绍1、Dubbo是什么2、为什么需要Dubbo3、Dubbo的特性 二、 Dubbo的核心概念1、暴露和引用(Export and Refer)2、服务提供者和服务消费者3、注册中心4、负载均衡5、集群容错 三、Dubbo的架构1、服务提供者和服务消费者之间的通信流程2、Dubbo的…...
自动zksync刷账户交互(附代码)
自动化任务的 Python 代码。它使用 Selenium 库来控制浏览器。 #解锁小狐狸 task.unlock_metamask(ads) #zk主网连接钱包,初始化 #ZK主网任务1:转账 print(选择ZK主网任务1:转账) task.zk_task1(ads,address) #…...

荐读 | 《揭秘云计算与大数据》
当我们回顾过去几十年的科技进步时,云计算和大数据在现代科技发展史上无疑具有里程碑式的意义,它们不仅改变了我们的生活方式,而且对各行各业产生了深远的影响。 在这个数字化时代,云计算和大数据技术已经成为推动全球发展的关键…...

RISC-V基础之内存分布与映射
内存映射是指将地址空间划分为不同的部分或段,每个段有不同的用途和属性。这段话介绍了五个段:文本段、全局数据段、动态数据段、异常处理器段和操作系统(OS)段。下面是对每个段的简要说明: 文本段:存放程序…...

【Unity3D应用案例系列】Unity3D中实现文字转语音的工具开发
推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客 大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 在开发中,会遇到将文字转语音输出的需求࿰…...

STM32入门——定时器
内容为江科大STM32标准库学习记录 TIM简介 TIM(Timer)定时器定时器可以对输入的时钟进行计数,并在计数值达到设定值时触发中断16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时&…...
企业工商信息:知识产权出质
一、出质是什么?质权是什么? 出质,作为一种物权行为,是指将个人或企业所拥有的财产权益移交给他人作为抵押,以获得资金支持。这一概念在商业活动中扮演着重要的角色,为企业创造了融资渠道。特别是在知识密…...
batch_softmax_loss
每个用户抽取一定数量的困难负样本,然后ssm def batch_softmax_loss_neg(self, user_idx, rec_user_emb, pos_idx, item_emb):user_emb rec_user_emb[user_idx]product_scores torch.matmul(F.normalize(user_emb, dim1), F.normalize(item_emb, dim1).transpose(…...

刘汉清:从生活到画布,宠物成为灵感源泉
出生于中国镇江的艺术家刘汉清,其作品展现出他对日常生活的深入洞察力,以及对美的独特理解。他的作品通常没有视觉参考,而是通过对他周围环境的理解,尤其是他的宠物,来进行创作。 在刘汉清的创作过程中,他…...

盘古信息PCB行业解决方案:以全域场景重构,激活智造新未来
一、破局:PCB行业的时代之问 在数字经济蓬勃发展的浪潮中,PCB(印制电路板)作为 “电子产品之母”,其重要性愈发凸显。随着 5G、人工智能等新兴技术的加速渗透,PCB行业面临着前所未有的挑战与机遇。产品迭代…...
在鸿蒙HarmonyOS 5中实现抖音风格的点赞功能
下面我将详细介绍如何使用HarmonyOS SDK在HarmonyOS 5中实现类似抖音的点赞功能,包括动画效果、数据同步和交互优化。 1. 基础点赞功能实现 1.1 创建数据模型 // VideoModel.ets export class VideoModel {id: string "";title: string ""…...

基于uniapp+WebSocket实现聊天对话、消息监听、消息推送、聊天室等功能,多端兼容
基于 UniApp + WebSocket实现多端兼容的实时通讯系统,涵盖WebSocket连接建立、消息收发机制、多端兼容性配置、消息实时监听等功能,适配微信小程序、H5、Android、iOS等终端 目录 技术选型分析WebSocket协议优势UniApp跨平台特性WebSocket 基础实现连接管理消息收发连接…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
Java入门学习详细版(一)
大家好,Java 学习是一个系统学习的过程,核心原则就是“理论 实践 坚持”,并且需循序渐进,不可过于着急,本篇文章推出的这份详细入门学习资料将带大家从零基础开始,逐步掌握 Java 的核心概念和编程技能。 …...
什么?连接服务器也能可视化显示界面?:基于X11 Forwarding + CentOS + MobaXterm实战指南
文章目录 什么是X11?环境准备实战步骤1️⃣ 服务器端配置(CentOS)2️⃣ 客户端配置(MobaXterm)3️⃣ 验证X11 Forwarding4️⃣ 运行自定义GUI程序(Python示例)5️⃣ 成功效果
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...

蓝桥杯3498 01串的熵
问题描述 对于一个长度为 23333333的 01 串, 如果其信息熵为 11625907.5798, 且 0 出现次数比 1 少, 那么这个 01 串中 0 出现了多少次? #include<iostream> #include<cmath> using namespace std;int n 23333333;int main() {//枚举 0 出现的次数//因…...

dify打造数据可视化图表
一、概述 在日常工作和学习中,我们经常需要和数据打交道。无论是分析报告、项目展示,还是简单的数据洞察,一个清晰直观的图表,往往能胜过千言万语。 一款能让数据可视化变得超级简单的 MCP Server,由蚂蚁集团 AntV 团队…...

RSS 2025|从说明书学习复杂机器人操作任务:NUS邵林团队提出全新机器人装配技能学习框架Manual2Skill
视觉语言模型(Vision-Language Models, VLMs),为真实环境中的机器人操作任务提供了极具潜力的解决方案。 尽管 VLMs 取得了显著进展,机器人仍难以胜任复杂的长时程任务(如家具装配),主要受限于人…...