Docker常用操作速查表

Docker

文章目录

  • Docker
    • [1. 使用逻辑](#1. 使用逻辑)
    • [2. 镜像](#2. 镜像)
      • [`docker search`](#docker search)
      • [`docker pull`](#docker pull)
      • [`docker images`](#docker images)
      • [`docker rmi`](#docker rmi)
    • [3. 容器](#3. 容器)
      • [`docker run`](#docker run)
      • [`docker ps`](#docker ps)
      • [`docker stop`](#docker stop)
      • [`docker start`](#docker start)
      • [`docker rename`](#docker rename)
      • [`docker logs`](#docker logs)
    • [4. 容器-->镜像](#4. 容器-->镜像)
      • [`docker commit`](#docker commit)
    • [5. 其他](#5. 其他)
      • [`docker save/load`](#docker save/load)
    • [6. 构建](#6. 构建)
      • [`docker build`](#docker build)
      • Dockerfile
        • [1. FROM](#1. FROM)
        • [2. LABEL](#2. LABEL)
        • [3. ENV](#3. ENV)
        • [4. RUN / CMD](#4. RUN / CMD)
        • [5. WORKDIR / USER](#5. WORKDIR / USER)
        • [6. COPY / ADD](#6. COPY / ADD)
        • [7. VOLUME / EXPOSE](#7. VOLUME / EXPOSE)
        • [8. ARG](#8. ARG)
        • [9. STOPSIGNAL](#9. STOPSIGNAL)

1. 使用逻辑

docker pull docker run/docker create docker commit docker push Image Container Remote Image

注: 使用时将镜像简单认为是一个操作系统, 实际上不是操作系统, 是一个轻量的隔离环境

2. 镜像

  • function: 检索docker hub上的镜像
  • connection: #Remote

docker pull

  • function: 从docker hub上拉取镜像到本地
  • connection: Remote --> Image

docker images

  • function: 列出本地镜像

  • connection: #Image

docker rmi

  • function: 删除指定的本地镜像
  • connection: #Image

3. 容器

docker run

  • function: 打包镜像成容器, 加入容器列表并运行容器
  • connection: Image --> Container

docker ps

  • function: 查看容器列表
  • connection: #Container
  • expansion: docker ps -a 列出所有容器列表, 包括没运行的

docker stop

  • function: 退出运行容器列表中的一个容器, 但不会在容器列表中删除
  • connection: #Container

docker start

  • function: 运行容器列表中的一个容器
  • connection: #Container

docker rename

  • function: 重命名
  • connection: #Container

docker logs

  • function: 查看某容器的日志
  • connection: #Container

4. 容器-->镜像

docker commit

  • function: 从容器的改变中创建镜像
  • connection: Container-->Image

5. 其他

docker save/load

  • function: 镜像<--->Tar压缩包

6. 构建

可以将构建过程虚拟的认为成新建一个操作系统 (实际上是轻量化的隔离环境)

docker build

  • function: 将项目构建成镜像

  • arguments:

    • -f: 指定dockerfile

    • -t: 指定镜像名和tag
      举例:

      docker build -f Dockerfil -t myimg:v0.1

命令安装的环境和依赖不会出现在自己的系统中 但是会出现在容器中, 因为是一个隔离的环境

Dockerfile

1. FROM

基础镜像: 也就是dockerhub上配好的镜像, 比如JDK, python, Ubuntu等基础环境

2. LABEL

附加到Image上的元数据

3. ENV

键值格式设定环境变量

4. RUN / CMD

RUN在构建镜像的时候执行的命令行指令, 可以理解为镜像就是一个全新系统, 你想在上面装什么环境

CMD就是运行容器时执行的命令行指令

5. WORKDIR / USER

指定RUN,CMD,ENTRPOINT,COPY,ADD指令的工作目录 / 用户UID

6. COPY / ADD

在构建镜像的时候, 把项目文件中的哪些拷贝到镜像中, ADD就是多一个自动解压的过程

7. VOLUME / EXPOSE

指定容器运行时的卷和暴露端口

8. ARG

构建过程中的定义的变量

9. STOPSIGNAL

用于通知容器终止的系统调用信号

相关推荐
用户8356290780516 小时前
Python 实现 PDF 文件加密与解密方法
后端·python
用户8356290780517 小时前
使用 Python 冻结与拆分 Excel 窗格教程
后端·python
辉的技术笔记10 小时前
Dify 自部署为什么跑不动?6 层瓶颈诊断法教你定位
docker
你好潘先生15 小时前
别再记命令了,用 yeero do 说句人话就能跑脚本,而且不烧 token
服务器·python·命令行
Agent_大师15 小时前
WebSocket 行情重连成功,K线缺口不会自动消失
python
荣码15 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python
copyer_xyf15 小时前
FastAPI 如何连接 MySQL
后端·python
apocelipes1 天前
常用编程语言和库的正则表达式性能对比
c语言·c++·python·性能优化·golang·开发工具和环境
用户8356290780511 天前
使用 Python 在 PDF 中创建与管理书签
后端·python
程序员老赵1 天前
Docker 部署 Redmine:老牌开源项目管理部署实测记录
docker·开源·团队管理