写在前面的废话
最近在学习riscv的软件相关内容,倒是有别人的sg2042机器可以通过ssh使用,但是用起来太不方便了,经常断掉,所以想着在自己的机器上跑一跑riscv的操作系统。最常见的有两种方法吧,第一个就是qemu,第二个是docker。两种肯定是都要掌握的,因为算是最基本的技能,这里先记录一下自己上手docker的过程,一定不是最好的方法,因为全是自己瞎摸索的,记录仅供自己将来查看。
目录
安装是否成功
下载一个image:
导入镜像
查看镜像列表
给镜像设置仓库名和标签
从镜像创建并启动一个容器
查看容器列表
退出并停止容器
启动已经停止过的容器
进入正在后台运行的容器
退出容器但不停止容器
指定登录用户
查看docker占用磁盘情况
安装是否成功
下载一个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
查看镜像列表
docker images
给镜像设置仓库名和标签
docker tag "IMAGE ID" repository:tag
REPOSITORY:TAG,设置之前需要通过dokcer images来查看该镜像的IMAGE ID
从镜像创建并启动一个容器
docker run -it repository:tag /bin/bash
这里需要指定命令为/bin/bash,否则无法启动
查看容器列表
docker ps -a
可以看到这的容器名字是happy_ardinghelli,是随机分配的。可以使用docker rename oldname newname来更改已经创建过的容器的名字,也可以在docker run的时候添加选项--name=name来指定容器名字。
退出并停止容器
exit or ctrl+d
启动已经停止过的容器
docker start name
进入正在后台运行的容器
docker attach name
退出容器但不停止容器
ctrl p+ctrl q
指定登录用户
docker exec -it -u 6eanut oe22.03 /bin/bash
attach还是少用,尽量都用exec,这里我还没特别搞清楚两者之间的区别
查看docker占用磁盘情况
docker system df