Docker常用命令

Docker 指令

  1. docker build - 从 Dockerfile 构建一个新的镜像

    • -t <image_name>:指定构建的镜像名称和标签
    • .:指定 Dockerfile 所在的路径
  2. docker run - 运行一个新的容器

    • -d:将容器以后台运行的方式启动
    • -p <host_port>:<container_port>:指定容器暴露的端口和宿主机的端口映射
    • --name <container_name>:指定容器的名称
    • -v <host_dir>:<container_dir>:将宿主机上的目录挂载到容器中
  3. docker ps - 列出当前正在运行的容器

    • -a:列出所有容器,包括已停止的容器
    • -q:只显示容器的 ID
  4. docker images - 列出所有的本地镜像

    • -a:列出所有镜像,包括中间镜像层
    • -q:只显示镜像的 ID
  5. docker stop - 停止正在运行的容器

    • <container_name>:指定要停止的容器名称或 ID
  6. docker rm - 删除已停止的容器

    • <container_name>:指定要删除的容器名称或 ID
    • -f:强制删除正在运行的容器
  7. docker rmi - 删除本地的镜像

    • <image_name>:指定要删除的镜像名称或 ID
    • -f:强制删除正在使用的镜像
  8. docker exec - 在运行的容器中执行命令

    • <container_name>:指定要执行命令的容器名称或 ID
    • -it:以交互模式进入容器
    • <command>:要执行的命令
  9. docker login - 登录到 Docker Hub

    • <username>:指定 Docker Hub 的用户名
    • <password>:指定 Docker Hub 的密码
    • <registry>:指定 Docker Hub 的 Registry 地址

Docker 网络命令

  1. docker network create - 创建一个新的 Docker 网络

    • <network_name>:指定要创建的网络名称
    • -d <driver>:指定网络驱动程序,如 bridgeoverlay
  2. docker network ls - 列出所有的 Docker 网络

    • -q:只显示网络的 ID
  3. docker network inspect - 显示指定 Docker 网络的详细信息

    • <network_name>:指定要显示信息的网络名称
  4. docker network connect - 将容器连接到指定的 Docker 网络

    • <network_name>:指定要连接的网络名称
    • <container_name>:指定要连接的容器名称
  5. docker network disconnect - 将容器从指定的 Docker 网络中断开

    • <network_name>:指定要断开的网络名称
    • <container_name>:指定要断开网络连接的容器名称
  6. docker network rm - 删除指定的 Docker 网络

    • <network_name>:指定要删除的网络名称

Dockerfile

1.设置基础镜像

  • FROM <base_image>
  1. 添加作者信息
  • LABEL maintainer=<author_name>
  1. 复制文件到容器中

- COPY <source_path> <destination_path>

  1. 设置工作目录
  • WORKDIR <working_directory>
  1. 运行指定的命令
  • RUN <command>
  1. 暴露容器的端口
  • EXPOSE <port>
  1. 定义容器启动时执行的命令
  • CMD <command>

Dodckerfile Example

设置基础镜像

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build-env

WORKDIR /app

复制项目文件到容器中

COPY \*.csproj ./1

RUN dotnet restore

复制其他文件到容器中

COPY . ./

构建应用

RUN dotnet publish -c Release -o out

生成最终镜像

FROM mcr.microsoft.com/dotnet/aspnet:6.0

WORKDIR /app

COPY --from=build-env /app/out .

ENTRYPOINT ["dotnet", "<project_name>.dll"]

posted @ 2023-03-27 11:18  我在装死呢  阅读(77)  评论(0)    收藏  举报