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

windows docker

写在前面的废话

最近在学习riscv的软件相关内容,倒是有别人的sg2042机器可以通过ssh使用,但是用起来太不方便了,经常断掉,所以想着在自己的机器上跑一跑riscv的操作系统。最常见的有两种方法吧,第一个就是qemu,第二个是docker。两种肯定是都要掌握的,因为算是最基本的技能,这里先记录一下自己上手docker的过程,一定不是最好的方法,因为全是自己瞎摸索的,记录仅供自己将来查看。

目录

安装是否成功 

下载一个image:

导入镜像

查看镜像列表

给镜像设置仓库名和标签

从镜像创建并启动一个容器

查看容器列表

退出并停止容器

启动已经停止过的容器

进入正在后台运行的容器

退出容器但不停止容器

指定登录用户

查看docker占用磁盘情况 

安装是否成功 

a2c030d08b0d432986b75a8c68ac2ad9.png

下载一个image:

https://mirror.iscas.ac.cn/openeuler-sig-riscv/openEuler-RISC-V/preview/openEuler-22.03-V2-riscv64/openeuler-rootfs.tar.gz

导入镜像

docker import imagename

cff092d0690f47e3a85049c74acdefc1.png

查看镜像列表

docker images

ee2434717d50446d84d1bd7641cd7750.png

给镜像设置仓库名和标签

docker tag "IMAGE ID" repository:tag

2e0692171ecc458d8ea4dfb9e7963c73.png

REPOSITORY:TAG,设置之前需要通过dokcer images来查看该镜像的IMAGE ID 

从镜像创建并启动一个容器

docker run -it repository:tag /bin/bash

d061996284c544b9bf3f52a35eb62fad.png

这里需要指定命令为/bin/bash,否则无法启动 

查看容器列表

docker ps -a

807e87ba9cef495caca884cbdd04729b.png

可以看到这的容器名字是happy_ardinghelli,是随机分配的。可以使用docker rename oldname newname来更改已经创建过的容器的名字,也可以在docker run的时候添加选项--name=name来指定容器名字。

退出并停止容器

exit or ctrl+d

b8a0fd7b67f54a3cbe709bf85c6f0872.png

启动已经停止过的容器

docker start name 

573e1a369d004dd59d2b2752193f689f.png

进入正在后台运行的容器

docker attach name

d2c94670afa04592b3e41351d79d881a.png

退出容器但不停止容器

ctrl p+ctrl q

指定登录用户

docker exec -it -u 6eanut oe22.03 /bin/bash

1712c55c04224954b42b958543cdd3e5.png

attach还是少用,尽量都用exec,这里我还没特别搞清楚两者之间的区别

查看docker占用磁盘情况

docker system df

74a15730bef449239be41bafb08166f3.png

 

相关文章:

  • 优化选址问题 | 模拟退火算法求解物流选址问题含Matlab源码
  • 有什么小程序适合个人开发?
  • 递归和递推的区别
  • yolov6实现遥感影像目标识别|以DIOR数据集为例
  • CodeSys创建自定义的html5控件
  • Kafka生产者相关概念
  • linux内核input子系统概述
  • 浮点数在计算机中的存储
  • 飞天使-k8s知识点27-kubernetes温故知新2-deployment
  • 如何成为顶尖程序员?
  • 二、阅读器的开发(初始)-- 1、阅读器简介及开发准备工作
  • 复试专业前沿问题问答合集10-1——区块链与加密货币
  • 内存条@电脑支持的最大内存@升级内存硬件
  • 安防监控视频汇聚平台EasyCVR接入海康Ehome设备,设备在线但视频无法播放是什么原因?
  • 关于Rust的项目结构的笔记
  • 【译】理解JavaScript:new 关键字
  • 03Go 类型总结
  • CentOS学习笔记 - 12. Nginx搭建Centos7.5远程repo
  • CSS选择器——伪元素选择器之处理父元素高度及外边距溢出
  • Fabric架构演变之路
  • JavaScript函数式编程(一)
  • javascript数组去重/查找/插入/删除
  • JavaScript新鲜事·第5期
  • JS题目及答案整理
  • js写一个简单的选项卡
  • python 装饰器(一)
  • spring + angular 实现导出excel
  • Yeoman_Bower_Grunt
  • 对象管理器(defineProperty)学习笔记
  • 关于 Linux 进程的 UID、EUID、GID 和 EGID
  • 机器学习中为什么要做归一化normalization
  • 小而合理的前端理论:rscss和rsjs
  • 异步
  • 中文输入法与React文本输入框的问题与解决方案
  • 整理一些计算机基础知识!
  • ​【已解决】npm install​卡主不动的情况
  • ​比特币大跌的 2 个原因
  • ### Error querying database. Cause: com.mysql.jdbc.exceptions.jdbc4.CommunicationsException
  • ###C语言程序设计-----C语言学习(3)#
  • #if #elif #endif
  • ( 用例图)定义了系统的功能需求,它是从系统的外部看系统功能,并不描述系统内部对功能的具体实现
  • (windows2012共享文件夹和防火墙设置
  • (附源码)springboot 校园学生兼职系统 毕业设计 742122
  • (附源码)计算机毕业设计SSM智慧停车系统
  • (三) prometheus + grafana + alertmanager 配置Redis监控
  • (转)视频码率,帧率和分辨率的联系与区别
  • .class文件转换.java_从一个class文件深入理解Java字节码结构
  • .net core webapi 部署iis_一键部署VS插件:让.NET开发者更幸福
  • .NET Standard 的管理策略
  • .net 流——流的类型体系简单介绍
  • .NET/C# 推荐一个我设计的缓存类型(适合缓存反射等耗性能的操作,附用法)
  • [ C++ ] STL---仿函数与priority_queue
  • [BZOJ4010]菜肴制作
  • [HackMyVM]靶场Crossbow
  • [IE编程] IE中对网页进行截图的编程接口