第一个 dockerfile 中已经用过几个指令了
RUN
EXPOSE
接下来会遇到的还有
CMD
ENTRYPOINT
ADD
COPY
VOLUME
WORKERDIR
USER
ONBUILD
LABAL
STOPSINGAL
ARG
ENV
...etc
更多请见 https://docs.docker.com/engine/reference/builder/
CMD 用於一个 container 启动时要运行的指令
前天我的 dockerfile
FROM ubuntu:20.04
MAINTAINER Eric "[email protected]"
RUN apt-get update && apt-get install -y nginx
RUN echo 'Hi ,I am in your container ' \
>/usr/share/nginx/html/index.html
EXPOSE 80
所以在启动时我需要在 docker run 後面加上 bash 才会进入 shell
如果加上一行
CMD bash
FROM ubuntu:20.04
MAINTAINER Eric "[email protected]"
RUN apt-get update && apt-get install -y nginx
RUN echo 'Hi ,I am in your container ' \
>/usr/share/nginx/html/index.html
CMD bash
EXPOSE 80
# I'm a comment
就能在 run 时就省去 bash
docker run -it eric211924/try_dockerfile:v2
直接进入 shell
一个 Dockerfile 中只会能指定一条 CMD
如果写了多个 CMD ,只有最後一个 CMD 会作用
WORKDIR
用 image create 新 container 时,在 container 内部指定一个工作目录,ENTRYPOINT & CMD 会在这个目录下执行
FROM ubuntu:20.04 AS builder
WORKDIR /var/lib/nginx
CMD ["ls"]
上面的 ls 指令就会在 /var/lib/nginx 中执行
COPY 可以把本机的档案复制到 image 中
COPY source destination
ADD 的格式和 COPY 相同
ADD source destination
除了在 multistage 以外,ADD 可以满足 COPY 的所有功能,除此之外还有:
解压缩并加入 image
从 url 复制档案到 image
<<: @Day23 | C# WixToolset + WPF 帅到不行的安装包 [87分帅的WPF外观]
vite 是 Vue.js 的作者所做的一个新的 bundler ,如果你有用过应该会知道,它最特别...
继昨天的练习,今天要完成 1.接下来制作灯管亮光的部分,将LOGO图层复制一层,并将最上方的图层改名...
前言 不知不觉每日的挑战发文活动,也进行到22天了,这件事已经变成每日必做的事,像平日就是工作结束後...
在程序里第二个常出现的就是字串处理啦 运算子 连接运算子 说明 用法 . 连接 x . y .= ...
如果画面太小或看不清楚,可移驾至 https://www.youtube.com/watch?v=...