当前位置: 首页 > 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的项目结构的笔记
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • 78. Subsets
  • HTML-表单
  • HTTP传输编码增加了传输量,只为解决这一个问题 | 实用 HTTP
  • Java教程_软件开发基础
  • Joomla 2.x, 3.x useful code cheatsheet
  • mysql innodb 索引使用指南
  • node-glob通配符
  • PHP 小技巧
  • SpringBoot 实战 (三) | 配置文件详解
  • Spring思维导图,让Spring不再难懂(mvc篇)
  • 快速体验 Sentinel 集群限流功能,只需简单几步
  • 微信小程序填坑清单
  • 一起来学SpringBoot | 第十篇:使用Spring Cache集成Redis
  • hi-nginx-1.3.4编译安装
  • 阿里云服务器如何修改远程端口?
  • ​Kaggle X光肺炎检测比赛第二名方案解析 | CVPR 2020 Workshop
  • ​queue --- 一个同步的队列类​
  • #{}和${}的区别?
  • (1)安装hadoop之虚拟机准备(配置IP与主机名)
  • (2.2w字)前端单元测试之Jest详解篇
  • (4)logging(日志模块)
  • (八)光盘的挂载与解挂、挂载CentOS镜像、rpm安装软件详细学习笔记
  • (二)学习JVM —— 垃圾回收机制
  • (附源码)ssm智慧社区管理系统 毕业设计 101635
  • (排序详解之 堆排序)
  • (十一)图像的罗伯特梯度锐化
  • ****Linux下Mysql的安装和配置
  • .cn根服务器被攻击之后
  • .mysql secret在哪_MYSQL基本操作(上)
  • .mysql secret在哪_MySQL如何使用索引
  • .NET 8.0 中有哪些新的变化?
  • .NET Framework杂记
  • .net mvc actionresult 返回字符串_.NET架构师知识普及
  • .net 逐行读取大文本文件_如何使用 Java 灵活读取 Excel 内容 ?
  • .NET成年了,然后呢?
  • /etc/motd and /etc/issue
  • @media screen 针对不同移动设备
  • @PreAuthorize注解