本文将介绍在 ubuntu系统上进行 Docker 镜像的生成和加载方法和代码。
文章目录
- 一、下载和安装 docker
- 二、加载 docker 文件
- 三、保存你的镜像
- 四、将镜像上传到云端并通过连接下载和加载 Docker 镜像
- 五、Docker 容器和本地的文件交互
- 5.1 从容器复制文件到本地宿主机
- 5.1.1 单个文件
- 5.1.2 整个文件夹
- 5.2 从本地宿主机复制文件到容器
- 5.2.1 单个文件
- 5.2.2 整个文件夹
一、下载和安装 docker
sudo apt update
sudo apt install docker.io
二、加载 docker 文件
如果你已经下载了 sophgo-tpuc_dev-v3.2_191a433358ad.tar.gz 文件,可以使用以下命令加载本地镜像:
docker load < sophgo-tpuc_dev-v3.2_191a433358ad.tar.gz
使用以下命令列出所有本地镜像。
docker images
第一次运行你的 docker 镜像。以后直接 docker start name
(本例子的镜像名称是 sophgo)。docker 中输入 exit 退出。
docker run --privileged --name sophgo -v $PWD:/home/zy/dockerfiles -it sophgo/tpuc_dev:v3.2
验证容器是否启动成功。
docker ps
停止并删除 docker 容器。
docker stop sophgo
docker rm sophgo
以后启动 docker 的时候,输入以下三行。
docker ps -a
docker start container_id
docker attach container_id
比如,本例的 docer 名字起了 sophgo。
docker ps -a
docker start sophgo
docker attach sophgo
三、保存你的镜像
docker save -o <保存路径> <镜像名称>:<标签>
比如,将镜像 sophgo/tpuc_dev:v3.2 保存到 /home/zy/dockerfiles 文件夹种。
docker save -o /home/zy/dockerfiles sophgo/tpuc_dev:v3.2
或者,把名为 sophgo/tpuc_dev:v3.2 的镜像保存为 sophgo.tar。
docker save -o sophgo.tar sophgo/tpuc_dev:v3.2
或者,把名为 sophgo/tpuc_dev:v3.2 的镜像保存为 sophgo.tar,并对文件进行压缩。
docker save sophgo/tpuc_dev:v3.2 | gzip > sophgo.tar.gz
也可以保存多个docker
docker save -o multiple-images.tar image1:tag1 image2:tag2
比如,将 sophgo/tpuc_dev:v3.2 和 aiserver:latest 两个镜像保存为 multiple-images.tar 文件。
docker save -o multiple-images.tar sophgo/tpuc_dev:v3.2 aiserver:latest
将某个运行中的容器保存为镜像,
docker commit <容器ID或名称> <镜像名称>:<标签>
比如,将 sophgo/tpuc_dev:v3.2 转换为 sophgo。
docker commit sophgo sophgo/tpuc_dev:v3.2
四、将镜像上传到云端并通过连接下载和加载 Docker 镜像
上传 Docker 镜像。
// 待更新
下载 Docker 镜像。
sudo docker pull registry.cn-hangzhou.aliyuncs.com/......
五、Docker 容器和本地的文件交互
5.1 从容器复制文件到本地宿主机
5.1.1 单个文件
docker cp <容器ID或容器名称>:<容器中的文件路径> <宿主机的目标路径>
比如,将 my_container
容器中的 /app/config.json
文件复制到本地宿主机的 /home/user/config.json
路径下。
docker cp my_container:/app/config.json /home/user/config.json
5.1.2 整个文件夹
docker cp my_container:/app/data /home/user/data
5.2 从本地宿主机复制文件到容器
5.2.1 单个文件
docker cp <宿主机的文件路径> <容器ID或容器名称>:<容器中的目标路径>
比如,将本地宿主机的 /home/user/config.json
文件复制到 my_container
容器中的 /app/config.json
路径下。
docker cp /home/user/config.json my_container:/app/config.json
5.2.2 整个文件夹
docker cp /home/user/data my_container:/app/data