首先声明:
CONTAINER_ID 容器的IDIMAGE_ID docker镜像的IDHOST_PATH 主机的文件夹路径CONTAINER_PATH 容器中的文件夹路径REPOSITORY_NAME docker中各类镜像的命名例如:ubuntu:14.04IMAGE_NAME 导出到本地时用户自己定义的名字,注意它不是REPOSITORY_NAME
- nova-docker 错误日志:
cat /var/log/upstart/docker.log
- 打开已创建好的docker
docker exec -i -t CONTAINER_ID /bin/bash
- 运行一个容器时挂在一个文件路径对应到容器中的路径当中
docker run -itd --privileged -v HOST_PATH:CONTAINER_PATH IMAGE_NAME /bin/bash
例:docker run -itd --privileged -v /home/zy/Desktop/:/mnt/ ubuntu:14.04 /bin/bash
- 列出所有容器,列出所有镜像
docker ps(想查看一些关闭或者生成失败的容器可以用 docker ps -a)
docker images
- 删除容器,删除镜像
docker rm CONTAINER_ID (无法删除时用 docker rm -f CONTAINER_ID )
docker rmi IMAGE_ID (如果有对应镜像的容器生成时,会无法删除,建议先删除容器,再删除镜像)
- 保存镜像到openstack:
docker save REPOSITORY_NAME | openstack image create REPOSITORY_NAME--public --container-format docker --disk-format raw (--property architecture=CPU_ARCH这是property参数,默认架构的话可以不写)
(针对需要指定CPU架构的可以单独配置如下)openstack image set --property architecture=arm--property hypervisor_type=qemu image_name_or_id
- 导出容器镜像到本地镜像
docker export CONTAINER_ID > IMAGE_NAME.tar
- 把tar格式的容器镜像导入到docker镜像中
docker import IMAGE_NAME.tar REPOSITORY_NAME(例如:ubuntu:14.04)
注意,export出的镜像必须用import指令导入!其保存的镜像不包含之前的历史和层。
- 导出docker镜像到本地
docker save REPOSITORY_NAME > IMAGE_NAME.tar
- 本地镜像导入到docker中
docker load < IMAGE_NAME.tar
注意,save的镜像必须用load指令导入,不能和另一对指令混用!其保存的镜像包含之前的历史和层。
- 已生成好的容器导入为docker镜像
sudo docker commit -m “Added nginx from ubuntu14.04”-a “saymagic” CONTAINER_ID IMAGE_NAME (exp:saymagic/ubuntu-nginx:v1)
其中,-m参数用来来指定提交的说明信息;-a可以指定用户信息的;79c761f627f3代表的时容器的id;saymagic/ubuntu-nginx:v1指定目标镜像的用户名、仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。注意的是,你一定要将saymagic改为你自己的用户名。因为下文还会用到此用户名。