Docker常用命令
Docker 指令
-
docker build- 从 Dockerfile 构建一个新的镜像-t <image_name>:指定构建的镜像名称和标签.:指定 Dockerfile 所在的路径
-
docker run- 运行一个新的容器-d:将容器以后台运行的方式启动-p <host_port>:<container_port>:指定容器暴露的端口和宿主机的端口映射--name <container_name>:指定容器的名称-v <host_dir>:<container_dir>:将宿主机上的目录挂载到容器中
-
docker ps- 列出当前正在运行的容器-a:列出所有容器,包括已停止的容器-q:只显示容器的 ID
-
docker images- 列出所有的本地镜像-a:列出所有镜像,包括中间镜像层-q:只显示镜像的 ID
-
docker stop- 停止正在运行的容器<container_name>:指定要停止的容器名称或 ID
-
docker rm- 删除已停止的容器<container_name>:指定要删除的容器名称或 ID-f:强制删除正在运行的容器
-
docker rmi- 删除本地的镜像<image_name>:指定要删除的镜像名称或 ID-f:强制删除正在使用的镜像
-
docker exec- 在运行的容器中执行命令<container_name>:指定要执行命令的容器名称或 ID-it:以交互模式进入容器<command>:要执行的命令
-
docker login- 登录到 Docker Hub<username>:指定 Docker Hub 的用户名<password>:指定 Docker Hub 的密码<registry>:指定 Docker Hub 的 Registry 地址
Docker 网络命令
-
docker network create- 创建一个新的 Docker 网络<network_name>:指定要创建的网络名称-d <driver>:指定网络驱动程序,如bridge,overlay等
-
docker network ls- 列出所有的 Docker 网络-q:只显示网络的 ID
-
docker network inspect- 显示指定 Docker 网络的详细信息<network_name>:指定要显示信息的网络名称
-
docker network connect- 将容器连接到指定的 Docker 网络<network_name>:指定要连接的网络名称<container_name>:指定要连接的容器名称
-
docker network disconnect- 将容器从指定的 Docker 网络中断开<network_name>:指定要断开的网络名称<container_name>:指定要断开网络连接的容器名称
-
docker network rm- 删除指定的 Docker 网络<network_name>:指定要删除的网络名称
Dockerfile
1.设置基础镜像
FROM <base_image>
- 添加作者信息
LABEL maintainer=<author_name>
- 复制文件到容器中
- COPY <source_path> <destination_path>
- 设置工作目录
WORKDIR <working_directory>
- 运行指定的命令
RUN <command>
- 暴露容器的端口
EXPOSE <port>
- 定义容器启动时执行的命令
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"]
浙公网安备 33010602011771号