安装docker
sudo apt install docker.io
启动docker
systemctl start docker
拉取镜像
docker pull 镜像名称
查看docker镜像
docker images
root@zwzn2064-CVN-Z690D5-GAMING-PRO:/home/zwzn2064# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 22.04 e4c58958181a 3 months ago 77.8MB
ubuntu 20.04 bf40b7bc7a11 3 months ago 72.8MB
ubuntu 18.04 f9a80a55f492 7 months ago 63.2MB
hello-world latest 9c7a54a9a43c 8 months ago 13.3kB
swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small 3.2 9bc7dd9d043e 11 months ago 2.05GB
删除images
root@zwzn2064-CVN-Z690D5-GAMING-PRO:/home/zwzn2064/M.2/1.4.0/M.2_ARM# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 22.04 e4c58958181a 3 months ago 77.8MB
ubuntu 20.04 bf40b7bc7a11 3 months ago 72.8MB
ubuntu 18.04 f9a80a55f492 8 months ago 63.2MB
hello-world latest 9c7a54a9a43c 8 months ago 13.3kB
swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small 3.2 9bc7dd9d043e 11 months ago 2.05GB
root@zwzn2064-CVN-Z690D5-GAMING-PRO:/home/zwzn2064/M.2/1.4.0/M.2_ARM# docker rmi 9c7a54a9a43c
Untagged: hello-world:latest
Untagged: hello-world@sha256:88ec0acaa3ec199d3b7eaf73588f4518c25f9d34f58ce9a0df68429c5af48e8d
Deleted: sha256:9c7a54a9a43cca047013b82af109fe963fde787f63f9e016fdc3384500c2823d
Deleted: sha256:01bb4fce3eb1b56b05adf99504dafd31907a5aadac736e36b27595c8b92f07f1
root@zwzn2064-CVN-Z690D5-GAMING-PRO:/home/zwzn2064/M.2/1.4.0/M.2_ARM# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 22.04 e4c58958181a 3 months ago 77.8MB
ubuntu 20.04 bf40b7bc7a11 3 months ago 72.8MB
ubuntu 18.04 f9a80a55f492 8 months ago 63.2MB
swr.cn-south-1.myhuaweicloud.com/openharmony-docker/docker_oh_small 3.2 9bc7dd9d043e 11 months ago 2.05GB
创建并运行一个docker容器,这样创建的docker还不能完全使用本机硬件
docker run -i -t ubuntu:18.04 /bin/bash
创建并运行一个docker容器,docker中将本机硬件与容器相关联
docker run -it --name rk3588-edge -v /home/zwzn2064/sdb1/rk3588-edge:/root/rk3588-edge:rw -v /dev:/fsl -v /lib/modules:/lib/module -v /usr/src:/usr/src ubuntu:18.04 /bin/bash
docker run
: Docker的基本命令,用于启动一个新的容器。-it
: 这是两个标志的组合。-i
保持STDIN打开,即使没有附加到容器。-t
为容器分配一个伪TTY或终端,使得您可以通过命令行界面与容器进行交互。--name rk3588-edge
: 为新创建的容器指定一个名称,这里是“rk3588-edge”。-v /home/zwzn2064/sdb1/rk3588-edge:/root/rk3588-edge:rw
: 这是一个卷映射。它将宿主机的/home/zwzn2064/sdb1/rk3588-edge
目录映射到容器的/root/rk3588-edge
目录,并指定这个映射为读写模式(rw)。-v /dev:/fsl
: 这将宿主机的/dev
目录映射到容器的/fsl
目录。通常,这是为了在容器中访问物理设备。-v /lib/modules:/lib/module
: 这将宿主机的/lib/modules
目录映射到容器的/lib/module
目录。这通常是为了在容器中加载内核模块。-v /usr/src:/usr/src
: 这将宿主机的/usr/src
目录映射到容器的相同位置。这可能是为了源码编译或其他目的。ubuntu:18.04
: 这是想要运行的Docker镜像的名称和标签。这里正在使用Ubuntu 18.04版本的镜像。/bin/bash
: 在容器启动后要运行的命令。这里启动了一个bash shell。
docker里面执行sudo mount rootfs.img rootfs,报错mount: rootfs: mount failed: Operation not permitted。这个错误的原因是在Docker容器中,默认情况下,大多数操作(包括挂载文件系统)都是不允许的。这是为了确保容器的隔离性和安全性如果你确实需要在容器内挂载文件系统,可以使用--privileged标志运行容器
docker run --privileged -it --name rk3588-edge -v /home/zwzn2064/sdb1/rk3588-edge:/root/rk3588-edge:rw -v /dev:/fsl -v /lib/modules:/lib/module -v /usr/src:/usr/src ubuntu:18.04 /bin/bash
查看所有已经创建的docker容器
docker ps -a
启动一个docker容器
docker start f04f01724a6f
已经运行的docker容器进入交互模式
docker exec -it f04f01724a6f /bin/bash