docker 镜像与容器

Docker中通过模板创建镜像,Docker容器、仓库及数据管理

停止、删除所有的docker容器和镜像

docker-compose exit 1时,可以尝试删除所有镜像和容器,先停止试下

列出所有的容器 ID
docker ps -aq

停止所有的容器
docker stop $(docker ps -aq)

删除所有的容器
docker rm $(docker ps -aq)

删除所有的镜像
docker rmi $(docker images -q)

复制文件
docker cp mycontainer:/opt/file.txt /opt/local/docker cp /opt/local/file.txt mycontainer:/opt/

现在的docker有了专门清理资源(container、image、网络)的命令。 docker 1.13 中增加了docker system prune的命令,针对container、image可以使用docker container prune、docker image prune命令。

docker image prune --force --all或者docker image prune -f -a : 删除所有不使用的镜像

docker container prune: 删除所有停止的容器

作者:POPMUISE
链接:https://www.imooc.com/article/details/id/32810
来源:慕课网

2. Docker - Docker Volume及Volume命令详解

docker volume prune
移除未使用的数据卷。

3. 导入导出

镜像重命名(新建) docker tag 源
docker history 镜像名
docker save -o 目标名.tar 源镜像
docker load < 目标名.tar

  • import与load的区别:
    import可以重新指定镜像的名字,docker load不可以
  • export 与 save 的区别:
    1、export导出的镜像文件大小,小于 save保存的镜像。
    export 导出(import导入)是根据容器拿到的镜像,再导入时会丢失镜像所有的历史

4. 镜像构建

  1. 根据模板构建(比拉取大很多):
    http://openvz.org/Download/templates/precreated 下载,
    cat 文件.tar.gz | docker import - 镜像名
  2. 启动一个镜像,输出信息后关闭容器
    :~$ docker run nginx /bin/echo "hello docker"

5. 容器

批量关闭容器(删除所有): docker rm -f $(docker ps -a -q)

  • 生产方式进入容器 .sh,使用容器id
#!/bin/bash
# 定义进入仓库函数
docker_in(){
  NAME_ID=$1
  PID=$(docker inspect --format {{.State.Pid}} $NAME_ID)
  nsenter --target $PID --mount --uts --ipc --net --pid
}
docker_in $1
  • 基于容器创建镜像
docker export [容器id] > 模板文件名.tar
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容