Docker 常用命令

Docker 常用命令

 

一. docker 命令

查看所有容器

docker ps -a

 

停止所有容器

docker stop `docker ps -a -q`

  

删除所有容器

docker rm `docker ps -a -q`

  

 

 docker查看错误日志

docker logs 容器id 

  

docker 容器设置开机启动

docker update --restart=always xxx

  

docker 进入容器

docker exec -it 容器名或ID /bin/bash

 

 docker 容器内安装 vim

进入容器,执行

apt-get update
apt-get install vim

 

docker 停止所有容器

docker stop $(docker ps -a -q)

  

docker 查看日志并搜索

docker logs  container-id  2>&1 | grep "Password"   #示例搜索Password

 

 

 

批量删除镜像,批量删除 repository name中包含dirtest中的镜像

docker images | grep 'dirtest'| awk '{print $3}'|xargs docker rmi

 

 


一. 镜像命令

 

删除所有镜像

docker rmi `docker images -q`

 


三. dockerfile 配置

 

Dockerfile - vue项目

# 设置基础镜像
FROM nginx
# 定义作者
MAINTAINER lihongyuan
# 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面
COPY .  /usr/share/nginx/html/

 

 

Dockerfile - net6项目

复制代码
FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
LABEL description="this is a test website"
LABEL version="1.0"
ENV TimeZone=Asia/Shanghai
RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone
WORKDIR /app
COPY . .
EXPOSE 80
ENTRYPOINT ["dotnet", "Rail.Frame.TestController.dll"]
复制代码

 

 
Dockerfile - net6项目(带编译、发布)

  方式1. 参考:https://baijiahao.baidu.com/s?id=1722457351925102595&wfr=spider&for=pc

  方式2. 在项目上右键 - 添加 - docker支持,生成Dockerfile 文件

复制代码
#See https://aka.ms/containerfastmode to understand how Visual Studio uses this Dockerfile to build your images for faster debugging.

FROM mcr.microsoft.com/dotnet/aspnet:6.0 AS base
  ENV TimeZone=Asia/Shanghai
  RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone

WORKDIR /app
EXPOSE 80
EXPOSE 443

FROM mcr.microsoft.com/dotnet/sdk:6.0 AS build
WORKDIR /src
COPY ["Rail.Frame.TestController/Rail.Frame.TestController.csproj", "Rail.Frame.TestController/"]
COPY ["Rail.Model.RailCDE/Rail.Model.RailCDE.csproj", "Rail.Model.RailCDE/"]
COPY ["Rail.Model.Mate/Rail.Model.Mate.csproj", "Rail.Model.Mate/"]
COPY ["Rail.Service.Assist/Rail.Service.Assist.csproj", "Rail.Service.Assist/"]
COPY ["Rail.Model.DataBase/Rail.Model.DataBase.csproj", "Rail.Model.DataBase/"]
COPY ["Rail.Model.Assist/Rail.Model.Assist.csproj", "Rail.Model.Assist/"]
COPY ["Rail.Medium/Rail.Medium.csproj", "Rail.Medium/"]
COPY ["Rail.Model.TestPlatform/Rail.Model.TestPlatform.csproj", "Rail.Model.TestPlatform/"]
COPY ["Rail.Service.RailCDE/Rail.Service.RailCDE.csproj", "Rail.Service.RailCDE/"]
COPY ["Rail.Service.TestPlatform/Rail.Service.TestPlatform.csproj", "Rail.Service.TestPlatform/"]
COPY ["Rail.Service.Mate/Rail.Service.Mate.csproj", "Rail.Service.Mate/"]
RUN dotnet restore "Rail.Frame.TestController/Rail.Frame.TestController.csproj"
COPY . .
WORKDIR "/src/Rail.Frame.TestController"
RUN dotnet build "Rail.Frame.TestController.csproj" -c Release -o /app/build

FROM build AS publish
RUN dotnet publish "Rail.Frame.TestController.csproj" -c Release -o /app/publish

FROM base AS final
WORKDIR /app
COPY --from=publish /app/publish .
ENTRYPOINT ["dotnet", "Rail.Frame.TestController.dll"]
复制代码

注意增加时区设置

ENV TimeZone=Asia/Shanghai
ENV /etc/localtime=/etc/localtime # 使用宿主机时间
RUN ln -snf /usr/share/zoneinfo/$TimeZone /etc/localtime && echo $TimeZone > /etc/timezone

 

 

导出Docker 镜像

docker save -o image.tar image:v11

 

 

Docker容器 环境变量配置

1. 时区配置

TZ = Asia/Shanghai

 

 

2. Netcore中的ENV配置文件

ASPNETCORE_ENVIRONMENT =Production

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

批量强制删除容器

docker ps -a |grep 'Exited' |awk '{print $1}' |xargs docker rm -f

同理,删除none的镜像

docker images | grep none| awk '{print $3}'|xargs docker rmi

 

posted @   无心々菜  阅读(158)  评论(0编辑  收藏  举报
编辑推荐:
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· C#/.NET/.NET Core技术前沿周刊 | 第 29 期(2025年3.1-3.9)
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
点击右上角即可分享
微信分享提示