一个简单的示例
FROM alpine:latest MAINTAINER songyan CMD echo 'hello docker'
创建镜像
docker build -t hello_docker -f test.dockerFile .
运行这个镜像
docker run hello_docker
稍微复杂的DockerFile(nginx)
FROM ubuntu MAINTAINER songyan RUN sed -i 's/archive.ubuntu.com/mirrors.ustc.edu.cn/g' /etc/apt/sources.list RUN apt-get update RUN apt-get install -y nginx COPY index.html /var/www/html ENTRYPOINT ["nginx","-g","daemon off;"] EXPOSE 80
进入一个容器
docker exec -it 92b39e94ac0f /bin/bash
删除所有容器
docker rm $(docker container ls -a -q)
小结:
FROM:base image(指定一个基础镜像)
RUN:在容器内执行一个命令
ADD:往容器内添加一个文件【还可以将远程的文件/目录加入到容器】
COPY:往容器内拷贝一个文件【文件/目录】
CMD:给容器指定一个入口
ENTRYPOINT:给容器指定一个入口
EXPOSE:指定要暴露的端口
WORKDIR:指定路径
MAINTAINER:维护者
ENV:设置环境变量
USER:指定执行该命令的用户
VOLUMN:指定容器挂载的卷
docker镜像是分层被存储的
dockerfile里面每一行都对应一层
存在于image里面的层都是只读的,镜像被运行产生的一个容器的时候会产生一个新层(容器层),这一层是可读可写的,从而保证容器可变
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· Manus的开源复刻OpenManus初探
· AI 智能体引爆开源社区「GitHub 热点速览」
· 从HTTP原因短语缺失研究HTTP/2和HTTP/3的设计差异
· 三行代码完成国际化适配,妙~啊~
2019-01-07 js处理时间戳