学习记录之用,有错误之处欢迎指出。

一、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"]


  1. 创建镜像
docker build  -t ImageName:TagName dir

-t − 给镜像加一个Tag
ImageName − 给镜像起的名称
TagName − 给镜像的Tag名
Dir − Dockerfile所在目录
  1. 查看镜像
    docker images

  2. 进入容器的几种方法
    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

这样进入的容器会持续运行,直到您手动停止或删除它。您可以在这个容器内进行持久化操作,例如编辑文件、运行程序等。

  1. 在docker镜像中进行camke编译. 只需要在CMakelist目录下执行:
cmake .
make

docker上不适宜用gedit这样的图形化编辑器,可以下载nano
alpine使用apk而非apt管理软件 ,apk的基本使用:

apk update
apk add  XXX   #下载软件
  1. 停止与删除容器
    要停止容器,可以使用 docker stop 命令,需要指定容器的 ID 或者名称。例如:
docker stop <container_id_or_name>

要删除容器,可以使用 docker rm 命令,同样需要指定容器的 ID 或者名称。删除容器时,建议先停止容器再删除。例如:

docker stop <container_id_or_name>
docker rm <container_id_or_name>

请注意,在删除容器时,容器内的数据也会被删除,因此在删除之前,请确保您不再需要容器内的任何数据或更改。

三、导出镜像

  1. 导出为 Tar 归档文件
docker save -o image.tar  image

将生成的 Tar 归档文件传输给别人,然后他们可以使用 docker load 命令加载这个归档文件并创建镜像,例如:

docker load -i my_opencv_image.tar
  1. 使用 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
Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐