dockerfile笔记

Docker下修改文件的几种方法

1.-v 挂载 docker run -v localConfigFile:/containerPath

2.exec 进入容器修改 docker exec -it containerID bash 可以安装vi进行修改

3.cp 可以将宿主机的配置文件拷贝到container中, docker cp host/path:/container/path

 

### 编写高效的 Dockerfile 构建镜像 #### 选择合适的基底映像 为了确保最终的Docker镜像尽可能的小巧和安全,应该从官方仓库中选取一个可靠的、最小化的基础映像作为起点。通常推荐使用Alpine Linux这样的精简版Linux发行版本来减少不必要的依赖项引入[^2]。 ```dockerfile FROM python:3.9-alpine ``` #### 利用多阶段构建技术 采用多阶段构建可以在编译期完成必要的操作之后仅保留运行时所需的组件到最终产出物里去,这样不仅减少了镜像大小还增强了安全性[^1]。 ```dockerfile # Build stage FROM golang:alpine AS builder WORKDIR /app COPY . . RUN go build -o myapp . # Final stage FROM alpine:latest WORKDIR /root/ COPY --from=builder /app/myapp . CMD ["./myapp"] ``` #### 合并 RUN 指令以降低层数 由于每条`RUN`语句都会创建一个新的层,在不影响可读性的前提下应当尽量合并多个安装命令成单个指令执行,以此来削减无谓增加的历史记录数量以及加速后续增量式的重新构建过程[^3]。 ```dockerfile RUN apk add --no-cache \ git \ curl \ && rm -rf /var/cache/apk/* ``` #### 设置工作目录与复制文件前先设置好环境变量 提前声明一些固定的路径或者配置参数能帮助避免硬编码带来的麻烦;而将源码拷贝动作放在最后一步则有利于利用缓存机制加快迭代速度。 ```dockerfile ENV APP_HOME=/usr/src/app WORKDIR $APP_HOME COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt COPY . . ``` #### 使用 COPY 而不是 ADD 命令 除非确实需要用到解压归档等功能特性之外,一般情况下都建议优先考虑更简单的`COPY`方式处理静态资源转移任务,因为后者行为更加直观不易引起混淆。 ```dockerfile COPY ./static /opt/webapp/static ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值