ubuntu 下的docker安装、opencv镜像制作、镜像移植
学习记录之用,有错误之处欢迎指出。
一、docker安装
参考链接docker安装
步骤 1:更新包列表
首先,打开终端并输入以下命令以确保您的包列表是最新的:
sudo apt update
步骤 2:安装依赖包
安装一些必要的软件包,以便您可以通过HTTPS使用存储库:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
步骤 3:添加Docker官方GPG密钥
下载并添加Docker的官方GPG密钥以进行验证:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
步骤 4:设置Docker稳定版存储库
设置Docker的稳定版存储库:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
步骤 5:安装Docker引擎
更新包列表并安装Docker Engine:
sudo apt update
sudo apt install docker-ce
步骤 6:验证安装
安装完成后,您可以运行以下命令来验证Docker是否已正确安装:
sudo docker --version
您也可以尝试运行一个简单的Docker容器来验证是否可以正常工作:
sudo docker run hello-world
这些步骤应该可以帮助您在Ubuntu上安装并运行Docker
二、使用docker
2.1 下载docker基础镜像
2.2 写dockefile
# 使用 Alpine Linux 作为基础镜像
FROM alpine:latest
# 修改 Alpine Linux 的软件源为阿里云镜像
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories
# 更新软件包列表并安装必要的软件包
RUN apk update && \
apk add --no-cache cmake g++ make opencv-dev
# 将工作目录设置为 /app
WORKDIR /app
# 复制当前目录下的所有文件到容器的 /app 目录中
COPY . /app
# 编译 C++ 程序
RUN cmake . && make
# 定义启动应用程序的命令
CMD ["./your_executable"]
- 创建镜像
docker build -t ImageName:TagName dir
-t − 给镜像加一个Tag
ImageName − 给镜像起的名称
TagName − 给镜像的Tag名
Dir − Dockerfile所在目录
-
查看镜像
docker images -
进入容器的几种方法
1)
docker run -it my_opencv_image:latest /bin/bash
或者
docker run -it my-opencv-image:latest /bin/sh
这种进入容器的方式在退出终端后会自动停止。如果需要持久化操作看第二种方法
2)
使用 -d 参数让容器以后台方式运行:
docker run -itd my_opencv_image:latest /bin/bash
使用 docker ps 命令查看运行中的容器的 ID:
docker ps
使用 docker exec 命令进入容器内部:
docker exec -it <container_id> /bin/bash
这样进入的容器会持续运行,直到您手动停止或删除它。您可以在这个容器内进行持久化操作,例如编辑文件、运行程序等。
- 在docker镜像中进行camke编译. 只需要在CMakelist目录下执行:
cmake .
make
docker上不适宜用gedit这样的图形化编辑器,可以下载nano
alpine使用apk而非apt管理软件 ,apk的基本使用:
apk update
apk add XXX #下载软件
- 停止与删除容器
要停止容器,可以使用 docker stop 命令,需要指定容器的 ID 或者名称。例如:
docker stop <container_id_or_name>
要删除容器,可以使用 docker rm 命令,同样需要指定容器的 ID 或者名称。删除容器时,建议先停止容器再删除。例如:
docker stop <container_id_or_name>
docker rm <container_id_or_name>
请注意,在删除容器时,容器内的数据也会被删除,因此在删除之前,请确保您不再需要容器内的任何数据或更改。
三、导出镜像
- 导出为 Tar 归档文件
docker save -o image.tar image
将生成的 Tar 归档文件传输给别人,然后他们可以使用 docker load 命令加载这个归档文件并创建镜像,例如:
docker load -i my_opencv_image.tar
- 使用 Docker 导出导入:
使用 docker export 命令将容器导出为 Tar 归档文件,例如:
docker export my_container > my_container.tar
将生成的 Tar 归档文件传输给别人,然后他们可以使用 docker import 命令导入这个归档文件并创建镜像,例如:
docker import my_container.tar my-opencv-image:latest
3.第三种方法,上传到 https://hub.docker.com/ docker仓库
1)登录 输入该网址的密码和账号
docker login
2)给要上传的docker镜像起一个心名字和版本号
docker tag imagename username/iamge:tag
3)上传
docker push username/iamge:tag
即可以在网址中看到自己上传的镜像了
4)下载镜像
docker pull username/repository:tag
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)