Docker基础命令(二)

docker实战基础二(Docker基础命令) 从容器复制文件到主机从主机复制文件到容器从容器复制目录到主机从主机复制目录到容器通过这些命令,你可以在主机和容器之间轻松地传输文件和目录,非常方便进行配置和调试工作。#进入容器内,修改一个特殊标记的文件#添加标记user nginx;#退出容器exit#拷贝文件至本地。 阅读详情

一、搜索镜像

1.在https://hub.docker.com/u/library 上搜索需要的镜像

image-20191118111227006

2.查看需要的版本

image-20191118111246821

image-20191118111305984

3.下载指定版本

docker pull python:3.6

下载完成查看

docker images

问题:怎样用docker中的Python???

二、交互模式使用容器

1. 运行已经创建的容器中的命令

有时我们需要进入到一个容器内部去操作这个容器,这时我们可以使用 docker exec 指令来实现

docker exec 指令可以执行一个运行着的容器中的命令:

docker exec -it 容器名称 命令

说明:

-it:以实时交互的形式运行(和 -d 正好相反)

注意:

如果要用docker exec,前提是已经有了一个正在运行的docker容器

1.查看当前docker容器: docker ps -a, 如果没有那么我们要创建一个容器

2.创建一个容器 : 

docker run --name==python3.6 -dit python:3.6

3.查看运行状况 : docker ps

4.运行

docker exec -it python3.6 python

执行 exit 指令可以退出容器

2. 创建容器时指定要要运行的命令

一般情况下,容器在制作的时候,都已经设定好了默认运行的命令,即在容器创建成功之后默认要开启的程序

但,如果想要运行其他的命令,也可以在创建容器时指定

可以直接在创建容器时,指定要运行的命令,方式如下

docker run -it 镜像:版本 要运行的命令例如
docker run -it mysql:5.7 /bin/bash

三、挂载硬盘

问题一

数据是保存在容器里的,如果容器删除了数据也就删除了

问题二

每次要修改容器时,必须要进入到容器中去修改,比如要修改my.cnf

为了能够保存(持久化)数据以及共享容器间的数据,Docker 提出了 Volume 的概念

可以使用 -v 这个参数,将容器中的一个目录或者文件 和主机上的目录和文件进行绑定,绑定之后,修改主机上的这个文件就相当于修改了容器中的文件,删除容器之后,绑定的目录和文件还在主机(不会被删除)

为了实现主机和容器之间的数据共享,我们可以在创建容器时添加 -v 参数:

docker run ... -v 主机目录:容器中的目录 ...

demo1

1.创建一个新容器,且设置共享路径

注意:创建时镜像名字放在最后

docker run -it -v /Users/houxiaojun/Desktop/work_dirs/dockerfile/ubuntu_flask:/home ubuntu:16.04

2.真实电脑创建文件、文件夹,容器看到共享成功 

3.容器修改文件内容,真实电脑看到共享数据成功 

demo2

目的:重启docker容器看数据能否再次使用

1.退出容器: exit

2.修改真实电脑文件数据 

3.再次运行容器 : docker start -i 上一次的容器id

4.查看容器是否看到共享数据,结果成功 

demo3

目的:删除容器之后共享文件(夹)是否会丢失

1.退出、删除容器: docker rm (容器id)

2.查看真实电脑文件依然在 

demo4

目的: 在启动docker环境的时候, 要将本地文件和docker某个目录做文件夹的共享, 这样不管是在本地进行代码修改, 还是在docker中进行修改, 都可以进行同步.

docker run --name dev --runtime=nvidia -v $PWD:/mnt -p 8888:8888 -it paddlecloud/paddlenlp:develop-gpu-cuda11.2-cudnn8-cdd682 /bin/bash

说明: 

--name 指定容器名称为: winwin

-v 指定共享文件: $PWD表示启动命令的当下路径和容器中的/mnt共享

-p 指定端口: 本地端口:容器端口

-it 显示的展示交互页面 后面的image:tags

/bin/bash 是启动使用的解释器

 

四、复制文件

我们可以使用 docker cp 指令向容器中复制文件,或者从容器中复制文件到主机

docker cp 源目录  目标目录

1.创建一个新的容器: docker run -it ubuntu(容器名)

2.查看真实电脑路径下无文件(夹) 

3.从容器复制文件到真实电脑

   在真实电脑终端执行: docker cp 容器id:文件路径 本地文件路径, 例如: docker cp 8ceb72275be3:/home/world.txt ./

4.从真正电脑复制文件夹到容器

   在真实电脑终端执行: docker cp 本地文件 容器id:文件存放路径      例如: docker cp hello.txt 8ceb72275be3:/home

五. 将现有的容器打包为镜像

场景: 在docker中使用的过程中, 会不断地添加新的包, 但是在最后的时候, 想要将现成的包作为下次启动的镜像直接使用, 那么需要将容器打包为镜像.

要将一个容器打包成一个Docker镜像,你需要使用docker commit命令。这个命令会基于容器的当前状态创建一个新的镜像。

下面是使用docker commit命令的基本步骤:

  1. 首先,确保你有一个正在运行的容器。你可以通过运行docker ps来查看当前运行的容器。

  2. 使用docker commit命令创建镜像。命令的格式如下:

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

其中:

  • [OPTIONS] 是可选的,可以用来指定新镜像的说明等信息。

  • CONTAINER 是要打包的容器的ID或名称。

  • [REPOSITORY[:TAG]] 是新镜像的名称和标签,标签是可选的,默认是latest。

例如,如果你有一个名为my_container的容器,你想将它打包为名为my_image的镜像,你可以运行:

docker commit my_container my_image

如果你还想为这个镜像添加一个特定的标签,比如v1.0,你可以运行:

docker commit my_container my_image:v1.0

完成这个命令后,你就可以通过运行docker images来查看新创建的镜像。

本地 AI 自由!OpenClaw+Ollama 双系统部署教程(Windows/Linux),零成本离线跑大模型 本文详细介绍了如何在Windows和Linux双系统中部署OpenClaw AI助手,并通过Ollama对接本地大模型实现完全离线使用。教程包含环境准备、OpenClaw安装配置、Ollama本地模型部署、系统对接等完整流程,特别强调隐私安全和零Token消耗的优势。针对不同操作系统提供具体命令,并给出常见问题解决方案,即使是新手也能快速搭建专属本地AI助手。最终实现的方案无需联网、无使用成本,且能保障数据隐私安全。 阅读详情

相关推荐

ss524v100 调试cvbs输出

启用视频层3 dev2 对应 layer3在vdec与vo绑定的时候(不需要经过vpss),不能绑定错误,以下是绑定的程序。

2116

docker-基本命令

基本命令以及使用

qq_40442137的博客 851

新手避坑指南:用COMSOL Multiphysics仿真气体放电(汤逊vs.流注)

本文详细介绍了使用COMSOL Multiphysics仿真气体放电的实战指南,涵盖汤逊理论和流注模型的实现方法。通过对比两种放电模型的关键参数和物理场配置,帮助新手避免常见错误,准确预测气体击穿过程。文章还提供了工程应用案例,如高压绝缘子设计优化,展示了仿真技术在电力设备绝缘设计中的实际价值。

weixin_28716181的博客 474

docker exec -it_Docker入门介绍

1.docker是什么?docker是一个提供应用「打包」,「部署」与「运行应用」的容器化平台。「应用程序 -> docker引擎-> 物理硬件」应用程序不再直接面向底层资源,而是面向中间层docker引擎来操作。「docker引擎包含」:docker服务端, rest api ,docker客户端。通过这种结构,用户可以通过客户端很方便的管理多个服务端。2.容器与镜像镜像:镜像是只读...

weixin_39820177的博客 1万+

Linux ELF文件解析:从file到readelf的完整工具链指南

ELF(可执行与可链接格式)是Linux系统中二进制文件的标准格式,定义了程序加载、内存布局和元数据组织方式。其核心原理在于通过程序头表描述执行视图、节区头表描述链接视图,实现代码与数据的结构化存储。这一格式的技术价值在于为程序调试、安全审计和性能优化提供了底层支持,尤其在动态链接、符号解析和内存保护机制中发挥关键作用。在应用场景上,系统管理员依赖ELF分析工具解决库依赖问题,安全研究员通过检查安全属性评估漏洞风险,开发者则利用反汇编进行代码调试。本文聚焦于file、readelf、objdump等工具链的

weixin_42691065的博客 635

ROS基础(一)——命令行代码(以小乌龟程序为例)

ROS学习(一)——命令行代码(以小乌龟程序为例)1 基础命令行语句1.1 roscore1.2 rqt_graph(显示系统计算图)1.3 rosnode(显示所有节点相关信息)1.4 rostopic(和话题相关)2 服务类型指令rosservice同时存在两只海龟3 指令记录 1 基础命令行语句 从大二四旋翼无人机编队后就没再接触过ROS了,最近由于科研任务需要重新捡起来,打算系统学一下!学习过程参考古月居老师的视频,有兴趣的同学可以去[BliBli]学习。 学习平台:Ubuntu 18.04 硬件

北理自动化小白 6268

在docker上安装运行Python文件

打包成镜像需要的Dockerfile文件,和requirement.txt文件。修改Dockerfile文件,注意我们更改了什么?Dockerfile文件参考如下。答:cmd运行的路径,一下是示例。

qq_53679247的博客 8816

AIStarter避坑指南:Wan2.2 Animate整合包从下载到出片的完整流程(附常见错误修复)

本文提供了Wan2.2 Animate整合包从下载部署到生成高清视频的完整避坑指南。详细解析了通过AIStarter启动、环境配置、核心参数调优以及七大常见错误(如CUDA内存不足、节点缺失、视频模糊等)的根因与修复方案,帮助用户高效利用ComfyUI工作流,稳定生成720P高质量AI动画视频。

weixin_29052717的博客 705

进入Docker 容器 docker exec [CONTAINER ID] bin/bash报错问题

我们直接使用 命令docker exec -ti ceff85e1747d /bin/bash 在有点情况下会报出 OCI runtime exec failed: exec failed: container_linux.go:337: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no s...

qq_24884955的博客 2万+

Unity布娃娃系统 Ragdoll Mecanim Mixer使用

6. 选完之后,左键下面的hip等角色各个部位不松开鼠标,拖拽连接到上面Amature的各个部位,如图,下面所有部位都连接完之后,第二步点击Configure Selected Bones确认你的部位连接选择。要做一个布娃娃和动画混合的项目,这个插件是比较不错的,搜了一圈文章教程也是抄来抄去,抄的没有头没有尾,自己摸索着用了一下,记录使用过程吧。8. 之后就点击步骤7图一中的Create Ragdoll,会发现player结构发生变化,如图。4. 添加完脚本之后会显示你的player结构,如图。

SuShengQuanshiW的博客 1650

【软件系统架构】系列六:MBSE(基于模型的系统工程)

基于模型的系统工程(MBSE)是一种以模型为核心的系统工程方法论,通过结构化、可视化的模型取代传统文档,实现从需求到验证的全生命周期管理。MBSE采用SysML建模语言,包含需求、功能、架构和验证四大要素,支持自动追踪、仿真分析和代码生成。相比文档式工程,MBSE具有变更影响自动分析、跨团队协作和高可视化等优势,广泛应用于航空航天、汽车电子等领域。典型开发流程包括需求建模、行为建模、架构建模等阶段,配合MagicDraw、Cameo等工具链实现。MBSE正与数字孪生、AI技术融合,推动自动化建模和智能验证的

moton2017的博客 2784

docker常用命令

docker常用命令镜像查看镜像运行镜像修改镜像标签上传镜像将镜像保存成文件删除镜像容器查看容器进入容器向运行的容器中拷贝文件保存容器为镜像退出容器 [ ]内是需要自定义的内容 镜像 查看镜像 docker images docker images | grep [nvidia] 运行镜像 docker run -dit --name [ubuntuFirst (这个名字任意起)] [镜...

X-funbean的博客~ 1891

GibbsCAM软件二次开发:GibbsCAM软件API接口详解

API(Application Programming Interface,应用程序编程接口)是一种允许不同软件之间进行通信的接口。在GibbsCAM软件中,API提供了与外部程序交互的能力,使得开发者可以利用GibbsCAM的强大功能进行二次开发,定制化满足特定的制造需求。GibbsCAM的API主要基于.NET框架,使用C#或VB.NET等语言进行编程。在GibbsCAM软件中,通过API接口创建自定义几何形状是实现复杂零件设计和加工策略定制的关键步骤。

kkchenjj的博客 1497

docker login 登录_Docker系列教程3:十分钟必学必会Docker 基础命令(二)

图/文:迷神之前分享了Docker安装教程:Docker系列教程1:超简单Centos7安装新版Docker容器教程Docker系列教程2:十分钟必学必会Docker 基础命令(一)本次分享十分钟必学必会Docker 基础命令,并且附上例子(二)目录:13. login/logout14. logs15. network16. pull/push/search17. ps/kill/rm/rmi1...

weixin_39525307的博客 279

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

二、Docker基础命令介绍

查看具体命令的详细介绍docker | Docker DocsDocker 容器的核心是运行一个进程。当执行 时,实际上是告诉 Docker 启动一个容器,并在容器中运行指定的命令 使用exit退出后,容器状态会停止按住Ctrl+Q+P,可以退出当前容器的交互界面,容器仍继续运行列出正在运行的容器-a,--all 查看全部的容器,包括已退出的 --size 按容器显示磁盘使用情况 --filter 筛选 查看容器详细信息用于在正在运行的容器 中执行命令,它允许用户与容器进行交互,或者在容器内部运行特定

weixin_42265128的博客 996

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

【Docker】Docker学习② - Docker安装及基础命令介绍

yum源安装日志: 启动日志: 验证docker版本: 验证docker0网卡: 在docker安装启动之后,默认会生成一个名称为docker0的网卡并且默认IP地址为172.0.0.1。 验证docker信息: 2. Docker存储引擎 目前docker的默认存储引擎为overlay2,需要磁盘分区支持d-type文件分层功能,因此需要系统磁盘的额外支持。 官方文档关于存储引擎的选择文档:https://docs.docker.com/storage/storagedrive

学无止境 1427

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

docker系列-二-————安装docker与基础命令

如果有朋友发现有字误或其他错误,欢迎评论指出。

lzh521LX的博客 907

docker轻松使用二 docker常用基础命令

查看docker信息 ## 显示docker命令列表 docker docker container --help ## 显示Docker版本和信息 docker --version docker version docker info ## 测试docker docker run hello-world ## docker映像列表 docker image ls ## 列出Docker...

Alivon的博客 630

Docker系列(二):Docker基础命令

docker的部署安装(Linux kernel至少3.8以上): yum install docker docker1.8安装:(下面 是两个命令) # cat >/etc/yum.repos.d/docker.repo<<-EOF [dockerrepo] name=DockerRepository ...

as403045314的博客 220

docker(二)基础命令

一、docker命令-镜像 1、查看docker版本 docker -v docker version decker info #可以查看所有运行容器的镜像数量,运行容器的版本,可以分配的CPU,总的内存等信息.docker的工作目录 /var/lib/decker [root@ct ~]# docker version Client: Docker Engine - Community Version: 20.10.8 #版本 API version:

lv74134的博客 390

Docker(二) 基础命令

一、简述   Docker查看运行中容器并进入容器。 二、方法 $ sudo docker ps $ sudo docker exec -it 775c7c9ee1e1 /bin/bash   将黄色文字替换为docker ps返回的列表中的ID。 三、效果

Esca的学习之路 482

Linux之Docker(二)Docker基础命令

命令 作用 docker load -i ubuntu.tar 导入镜像(以ubuntu镜像为模板) docker build -t ubuntu:jx1 . 在已有镜像中升级更高版本镜像(需要有dockerfile文件) docker history ubuntu:jx1 查看镜像生成的过程指令 docker tag ubuntu:jx1 ubunru:lastes...

qq_36016375的博客 377

Docker学习之路【二】基础命令

docker命令

HootinVip的博客 156

Docker基础-10-docker命令(二)

这篇,继续来学习docker命令,上面一篇介绍到了如何通过容器,利用commit命令来制作镜像文件,再次强调,这种方式不推荐。我们推荐分享你写的Dockerfile文件,别人就能通过Dockerfile来构建镜像,这个比容器commit的方便很多,而且更安全。因为别人不知道你容器有什么配置,病毒什么的。 命令cp 这个复制文件命令是在容器里面和本地系统进行文件拷贝。 还是上一篇环境,通过do...

Anthony_tester的博客 855

docker实战(二):基础命令篇

(一):基础命令篇

天涯芳草 2057

Docker(二)——基础命令详解

  安装完Docker的服务,我们就可以开始使用Docker了。 Docker镜像   之前我们提到,docker是一个运行容器的工具,可以单独隔离每个服务的运行环境,达到互不干扰和节约资源的目的。而docker运行的容器,是基于一层一层的镜像联合挂载构建而成。所以我们需要先有镜像。   所谓镜像,其实可以理解为,一个个的最简化的安装包,里面只集成了一些必备的程序和文件,且每一层和每一层镜像是可以...

BOHC! 569
上一篇: Docker基础命令(一)
下一篇: airflow的安装
junjunzai123
博客等级 码龄10年 148粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值