docker系统笔记-03镜像的创建管理和发布

Posted 火腿肠烧烤大赛冠军

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了docker系统笔记-03镜像的创建管理和发布相关的知识,希望对你有一定的参考价值。

镜像的获取

  • pull from registry (online) 从registry拉取
    • public(公有)
    • private(私有)
  • build from Dockerfile (online) 从Dockerfile构建
  • load from file (offline) 文件导入 (离线)

镜像的基本操作

docker image 查看docker image command
docker pull nginx 镜像的拉取 默认最新
docker pull nginx:1.20.0指定版本拉取
docker pull quay.io/bitnami/nginx 从Quay上拉取镜像
docker image ls 镜像的查看
docker image rm 0922eabe1625镜像的删除(如果镜像有container 需要先删除cintainer再删除否则不成功 停止也不行)

镜像的导出和导入 (offline)

导出:docker image save nginx:latest -o nginx.image
导入:docker image load -i ./nginx.image

Dockerfile 介绍

执行python等同于下面的dockerfile

print("hello docker")
apt-get update && \\
DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y python3.9 python3-pip python3.9-dev
$ python3 hello.py
hello docker

DockerFile

FROM ubuntu:20.04
RUN apt-get update && \\
    DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y python3.9 python3-pip python3.9-dev
ADD hello.py /
CMD ["python3", "/hello.py"]

镜像的构建和分享

构建:docker image build -t [名字]:[版本] [dockerfile位置]
根据已存在的image创建一个新image:docker image tag [旧名字] [新名字]
分享(push到dockerhub)

  1. docker login --登录
  2. docker image push [名字]

通过commit 构建镜像

  1. 启动一个容器:docker container run -d -p 8080:80 nginx
  2. 根据id进入容器文件位置: docker exec -it 7c /bin/bash
  3. 更改、更新容器:echo "<h1>Hello Docker</h1>" > index.html
  4. ctrl+c 退出容器
  5. 根据id停止当前容器:docker container stop 7c
  6. 打包当前容器为image:docker container commit 7c1 samsun1997
  7. success

docker就是一个限制执行、内存大小并隔离的可运行的进程空间

以上是关于docker系统笔记-03镜像的创建管理和发布的主要内容,如果未能解决你的问题,请参考以下文章

docker通过模板创建镜像以及容器仓库和数据管理

Docker自学笔记

Docker镜像的管理和创建

Docker 学习笔记

docker基础学习笔记

docker学习笔记——创建私有库