x86 ubuntu中使用docker安装armv8 编译环境

环境:ubuntu 22.04  架构 x86

一 docker 重装

清理docker并重装

1、删除容器

1)首先需要停止所有的容器

docker stop $(docker ps -a -q)

2)删除所有的容器(只删除单个时把后面的变量改为image id即可)

docker rm $(docker ps -a -q)

2、删除镜像

1)查看host中的镜像

docker images

2)删除指定id的镜像

docker rmi image id

想要删除untagged images,也就是那些id为的image的话可以用

docker rmi $(docker images | grep “^” | awk “{print $3}”)

3)删除全部的images

docker rmi $(docker images -q)

3、当要删除的iamges和其他的镜像有关联而无法删除时

可通过 -f 参数强制删除

docker rmi -f $(docker images -q)

完全删除docker软件进行重装

sudo apt-get remove docker docker-engine docker.io docker-ce

sudo apt-get purge docker-engine

sudo apt-get autoremove –purge docker-engine

rm -rf /var/lib/docker

重新装

更新源 sudo apt update

安装 docker.io

sudo apt install docker.io

sudo systemctl start docker

sudo systemctl enable docker

查看是否安装成功

docker -v

二 安装arm v8 ubuntu 运行环境

1.安装qemu-user安装包,并更新qemu-arm的状态:

apt-get update && apt-get install -y --no-install-recommends qemu-user-static binfmt-support

update-binfmts --enable qemu-arm

update-binfmts --display qemu-arm

sudo chmod a+x /usr/bin/qemu-*

2.查看qemu-arm的版本:

qemu-arm-static -version

3.下载arm架构的镜像

docker pull docker.io/arm64v8/ubuntu:16.04

如果需要打包,执行下面操作:

4.在编写dockerfile的时候想执行RUN的话需将qemu拷贝到容器中

FROM docker.io/arm64v8/ubuntu:16.04

#指定维护者信息DEPTRUM

MAINTAINER deptrum

ENV DEBIAN_FRONTEND=noninteractive

COPY ./qemu-aarch64-static /usr/bin

RUN sed -i s@/http://ports.ubuntu.com/@/mirrors.aliyun.com/@g /etc/apt/sources.list

.......

5.构建docker镜像

docker build -t arm64v8:v1.0 .

三 使用docker 创建和使用容器

1 查看镜像

docker images

2 启动镜像的一个容器

docker run -itd --name f_armv8 docker.io/arm64v8/ubuntu:16.04 /bin/bash

将容器的某个端口映射到宿主机的某个端口,其它主机访问容器提供的服务需要通过宿主机的IP进行访问:

docker run -p 9000:8000 --name f_armv8 -itd --platform linux/arm64/v8 --privileged=true
 arm64v8/ubuntu:16.04 /bin/bash

3 查看容器信息

docker ps -a

4 进入容器

docker exec -it 容器id /bin/bash

5 停止容器

docker stop 容器id

你可能感兴趣的:(docker,容器)