生成镜像
docker build . -t my-nginx
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
localhost/my-nginx maintainer 712befd1ad83 13 minutes ago 24.7 MB
docker.io/library/nginx stable-alpine 373f8d4d4c60 3 weeks ago 24.7 MB
Dockerfile
FROM nginx:stable-alpine
MAINTAINER my-name # 指定作者信息
#运行docker inspect my-nginx,可以看到author是my-name
USER root # 指定运行容器的宿主机进程用户
WORKDIR /etc/nginx # 启动容器后,容器内部的工作目录
#运行docker inspect my-nginx | grep Work,可以看到WorkingDir
# ADD/COPY 都可以将宿主机的文件上传到镜像中
# ADD支持将压缩包解压后上传到镜像中
ADD test.txt /etc/nginx/
ADD myweb.tar.gz /usr/share/nginx/html
# COPY不支持压缩包解压上传(没有解压操作)
COPY test.txt /etc/nginx/
COPY myweb.tar.gz /usr/share/nginx/html
# 需要将myweb.tar.gz先解压到myweb目录,再copy
COPY myweb /usr/share/nginx/html
# EXPOSE 端口映射
COPY 8080.conf /etc/nginx/conf.d/
COPY index.html /usr/share/nginx/
EXPOSE 8080
# ENV 在容器中定义环境变量
ENV test=my-test-name
RUN 在镜像生成过程中需要执行的命令
FROM centos:7.6.1810
RUN yum install -y vim
# 在此容器启动以后,会发现vim已经安装了(centos自己不带vim)。
CMD 在容器启动时执行的命令,如果启动容器时指定了执行命令,那么CMD命令就失效
FROM centos:7.6.1810
CMD echo "ok"
# 通过 docker build . -t centos:cmd 生成镜像
docker run --rm centos:cmd --> ok
docker run --rm centos:cmd echo "ok2" --> ok2
ENTRYPOINT 容器启动时执行的脚本,但不会被启动容器时指定的命令覆盖,只会将制定的命令当作参数传递给ENTRYPOINT
---------------------------
知道的更多,不知道的也更多
---------------------------
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何打造一个高并发系统?
· .NET Core GC压缩(compact_phase)底层原理浅谈
· 现代计算机视觉入门之:什么是图片特征编码
· .NET 9 new features-C#13新的锁类型和语义
· Linux系统下SQL Server数据库镜像配置全流程详解
· Sdcb Chats 技术博客:数据库 ID 选型的曲折之路 - 从 Guid 到自增 ID,再到
· Winform-耗时操作导致界面渲染滞后
· Phi小模型开发教程:C#使用本地模型Phi视觉模型分析图像,实现图片分类、搜索等功能
· 语音处理 开源项目 EchoSharp
· drools 规则引擎和 solon-flow 哪个好?solon-flow 简明教程