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 "

    Hello Docker

    " > index.html
  4. ctrl+c 退出容器
  5. 根据id停止当前容器:docker container stop 7c
  6. 打包当前容器为image:docker container commit 7c1 samsun1997
  7. success
    docker系统笔记-03镜像的创建管理和发布_第1张图片

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

你可能感兴趣的:(docker,docker,容器,运维)