docker实用操作 | 本地和容器共享当前目录 |

2023-12-21 23:08

本文主要是介绍docker实用操作 | 本地和容器共享当前目录 |,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

记录若干docker实用操作

docker实用操作

  • docker 关闭现有容器 - 然后重新进入容器
  • docker 拉取镜像 - 创建容器
  • 创建容器:本地 和 容器 共享 当前目录
    • docker 本地copy文件到容器(如果忘了共享目录会用到)
    • docker 给 容器 重命名
    • docker 删除容器


docker 关闭现有容器 - 然后重新进入容器


(base) zhijain@moli:~$  docker container ls -a
CONTAINER ID   IMAGE          COMMAND       CREATED      STATUS      PORTS     NAMES
9b7cea48c82f   036440006669   "/bin/bash"   3 days ago   Up 3 days             relaxed_germain#停止容器运行
(base) zhijain@moli:~$ docker stop 9b7cea48c82f
9b7cea48c82f(base) zhijain@moli:~$ docker container ls -a
CONTAINER ID   IMAGE          COMMAND       CREATED      STATUS                        PORTS     NAMES
9b7cea48c82f   036440006669   "/bin/bash"   3 days ago   Exited (137) 29 seconds ago             relaxed_germain(base) zhijain@moli:~$ docker attach 9b7cea48c82f
You cannot attach to a stopped container, start it first(base) zhijain@moli:~$ docker start 9b7cea48c82f
9b7cea48c82f# 重新进入容器命令交互
(base) zhijain@moli:~$ docker attach 9b7cea48c82f
[root@9b7cea48c82f /]# 

docker 拉取镜像 - 创建容器


#搜索镜像
docker search anaconda#拉取镜像
docker pull kunitaya/anaconda3#查看现有镜像
(base) zhijian@moli:~$ docker images
REPOSITORY                       TAG                         IMAGE ID       CREATED         SIZE
hello-world                      latest                      bf756fb1ae65   14 months ago   13.3kB
188.168.18.18:5000/moli/cuda   10.1-cudnn7-devel-centos7   036440006669   14 months ago   4.25GB
kunitaya/anaconda3               latest                      843440bfba13   3 years ago     2.93GB#使用本地镜像,创建 docker 容器
(base) zhijian@moli:~$ docker run -it kunitaya/anaconda3 /bin/bash
[root@9821a4db5b90 /]# 

查看容器状态:另外一个 shell 窗口 执行 docker ps -a 可以发现新的容器 已经创建成功

docker ps -aCONTAINER ID   IMAGE                COMMAND       CREATED              STATUS              PORTS     NAMES
9821a4db5b90   kunitaya/anaconda3   "/bin/bash"   About a minute ago   Up About a minute             vigilant_gould
9b7cea48c82f   036440006669         "/bin/bash"   4 days ago           Up 16 minutes                 relaxed_germain

创建容器:本地 和 容器 共享 当前目录


docker run -it -v 本机路径:容器路径 f088d3e43d56 /bin/bash
本机路径和容器路径须 使用 绝对路径

  • 示例命令如下:
docker run -it -v `pwd`:/build f088d3e43d56 /bin/bash
  • 创建时,指定容器名字
docker run -it --name 'NanoDetTest' -v `pwd`:/build f088d3e43d56 /bin/bash

docker 本地copy文件到容器(如果忘了共享目录会用到)


  • copy 目录 和 文件的 示例如下:
docker cp 本地文件路径  容器ID:容器用户的某目录# 代码sample: 
docker cp /home/zhijian/project/project21/soft 9821a4db5b90:/home/zhijian/soft/docker cp /home/zhijian/project/project21/face_landmark_model.dat 9b7cea48c82f:/home/zhijian/soft/soft/

docker 给 容器 重命名



docker rename 原容器名称 新容器名称

例如:

docker ps -a
CONTAINER ID   IMAGE                COMMAND       CREATED        STATUS                      PORTS     NAMES
8f9b4e1ea28d   f088d3e43d56         "/bin/bash"   2 hours ago    Exited (0) 20 seconds ago             flamboyant_black
48931b434cc9   f088d3e43d56         "/bin/bash"   3 hours ago    Exited (0) 3 hours ago                cranky_beaver# 进行重命名
docker rename flamboyant_black  car_Detectdocker rename cranky_beaver car_DetectFirst# 可以发现容器的名字已经更改
docker ps -a 
CONTAINER ID   IMAGE                COMMAND       CREATED        STATUS                        PORTS     NAMES
8f9b4e1ea28d   f088d3e43d56         "/bin/bash"   3 hours ago    Exited (0) 18 minutes ago               car_Detect
48931b434cc9   f088d3e43d56         "/bin/bash"   3 hours ago    Exited (0) 3 hours ago                  car_DetectFirst

docker 删除容器


# 查看现有容器
docker ps -a CONTAINER ID   IMAGE                COMMAND       CREATED        STATUS                        PORTS     NAMES
8f9b4e1ea28d   f088d3e43d56         "/bin/bash"   3 hours ago    Exited (0) 18 minutes ago               car_Detect
48931b434cc9   f088d3e43d56         "/bin/bash"   3 hours ago    Exited (0) 3 hours ago                  car_DetectFirst9b7cea48c82f   036440006669         "/bin/bash"   5 days ago     Up 4 hours                              relaxed_germain# docker 删除容器
docker rm  relaxed_germain

这篇关于docker实用操作 | 本地和容器共享当前目录 |的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/521803

相关文章

Python中文件读取操作漏洞深度解析与防护指南

《Python中文件读取操作漏洞深度解析与防护指南》在Web应用开发中,文件操作是最基础也最危险的功能之一,这篇文章将全面剖析Python环境中常见的文件读取漏洞类型,成因及防护方案,感兴趣的小伙伴可... 目录引言一、静态资源处理中的路径穿越漏洞1.1 典型漏洞场景1.2 os.path.join()的陷

Python使用Code2flow将代码转化为流程图的操作教程

《Python使用Code2flow将代码转化为流程图的操作教程》Code2flow是一款开源工具,能够将代码自动转换为流程图,该工具对于代码审查、调试和理解大型代码库非常有用,在这篇博客中,我们将深... 目录引言1nVflRA、为什么选择 Code2flow?2、安装 Code2flow3、基本功能演示

Python中OpenCV与Matplotlib的图像操作入门指南

《Python中OpenCV与Matplotlib的图像操作入门指南》:本文主要介绍Python中OpenCV与Matplotlib的图像操作指南,本文通过实例代码给大家介绍的非常详细,对大家的学... 目录一、环境准备二、图像的基本操作1. 图像读取、显示与保存 使用OpenCV操作2. 像素级操作3.

MySQL 添加索引5种方式示例详解(实用sql代码)

《MySQL添加索引5种方式示例详解(实用sql代码)》在MySQL数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中,下面给大家分享MySQL添加索引5种方式示例详解(实用sql代码),... 在mysql数据库中添加索引可以帮助提高查询性能,尤其是在数据量大的表中。索引可以在创建表时定义,也可

Java实现本地缓存的常用方案介绍

《Java实现本地缓存的常用方案介绍》本地缓存的代表技术主要有HashMap,GuavaCache,Caffeine和Encahche,这篇文章主要来和大家聊聊java利用这些技术分别实现本地缓存的方... 目录本地缓存实现方式HashMapConcurrentHashMapGuava CacheCaffe

python操作redis基础

《python操作redis基础》Redis(RemoteDictionaryServer)是一个开源的、基于内存的键值对(Key-Value)存储系统,它通常用作数据库、缓存和消息代理,这篇文章... 目录1. Redis 简介2. 前提条件3. 安装 python Redis 客户端库4. 连接到 Re

Java Stream.reduce()方法操作实际案例讲解

《JavaStream.reduce()方法操作实际案例讲解》reduce是JavaStreamAPI中的一个核心操作,用于将流中的元素组合起来产生单个结果,:本文主要介绍JavaStream.... 目录一、reduce的基本概念1. 什么是reduce操作2. reduce方法的三种形式二、reduce

Maven项目打包时添加本地Jar包的操作步骤

《Maven项目打包时添加本地Jar包的操作步骤》在Maven项目开发中,我们经常会遇到需要引入本地Jar包的场景,比如使用未发布到中央仓库的第三方库或者处理版本冲突的依赖项,本文将详细介绍如何通过M... 目录一、适用场景说明​二、核心操作命令​1. 命令格式解析​2. 实战案例演示​三、项目配置步骤​1

MySQL表空间结构详解表空间到段页操作

《MySQL表空间结构详解表空间到段页操作》在MySQL架构和存储引擎专题中介绍了使用不同存储引擎创建表时生成的表空间数据文件,在本章节主要介绍使用InnoDB存储引擎创建表时生成的表空间数据文件,对... 目录️‍一、什么是表空间结构1.1 表空间与表空间文件的关系是什么?️‍二、用户数据在表空间中是怎么

使用Python实现调用API获取图片存储到本地的方法

《使用Python实现调用API获取图片存储到本地的方法》开发一个自动化工具,用于从JSON数据源中提取图像ID,通过调用指定API获取未经压缩的原始图像文件,并确保下载结果与Postman等工具直接... 目录使用python实现调用API获取图片存储到本地1、项目概述2、核心功能3、环境准备4、代码实现