ARG:用于指定传递给构建运行时的变量
#格式ONBUILD:用于设置镜像触发器
ARG name
ARG name=valuue
#如
ARG site
ARG name=123
#格式实战:定制自己的 centos
ONBUILD [INSTRUCTION]
#如
ONBUILD ADD ./App
#当所构建的镜像被用作其它镜像的基础镜像,该镜像中的触发器会被触发
由于官方centos里没有vim ,ficonfig等工具,先来个简单点的学习一下,从打包到发布的流程,后面再构建Nginx,php,mysql,redis各自的dockerfile文件,搭建自己的开发环境 !编写dockerfile文件
#dockerfile文件如下通过dockerfile构建镜像
FROM centos #基础镜像
#MAINTANER 123 123@gmail.com 现在官方推荐使用 LABEL标签使用
LABEL maintaner=123@gmail.com
#设置环境变量
ENV PATH=/usr/local
#设置工作目录
WORKDIR $PATH
#创建容器时执行的命令
RUN yum install -y vim && yum -y net-tools
#暴露端口
EXPOSE 80
# 镜像构建完成后执行的命令
CMD echo "===success======="
#以/bin/bash运行
CMD /bin/bash
#使用命令 docker build 命令
#常用参数如下:
-f #指定dockerfile文件
-t #指定镜像标签
#打包命令如下,注意最后那个点别丢了,代表当前目录
docker bulid -f mydockerfile -t mycentos:1.0 .

文章插图
查看镜像构建的过程,可以使用docker history 镜像id来查看
#查看一下nginx的构建过程
docker history nginx

文章插图
发布自己的镜像
发布地址: Dockerhub,阿里云发布到Dokerhub上
- 注册账号并登录
- 在服务器上向Dockerhub提交
#使用 docker login 命令登录
#使用 docker push 发布镜像
使用 docker login -u 用户名 -p 密码
登录成功如下:

文章插图
使用 docker push 命令发布镜像到dockerhub,结果报错发布到阿里云,国内速度快
denied: requested access to the resource is denied
#解决办法:
在build自己的镜像的时候添加tag时必须在前面加上自己的dockerhub的username,然后再push就可以了
#我这里使用 docker tag 命令修改标签
#命令如下:
docker tag mycentos:1.0 lnssm/mycentos:1.0
#再push就可以了
docker push lnssm/mycentos:1.0
- 登录阿里云控制台
- 搜索容器镜像服务->实例列表->个人实例->命令空间新建

文章插图
创建完命名空间后,打开镜像仓库,创建镜像仓库,选择本地仓库

文章插图
根据官方给的文档开始提交就可以,这里就不截图了
推荐阅读
- Linux TCP队列相关参数的总结
- 小学数学学习方法的总结与指导
- 一名高级的Javaer,应该了解的 MYSQL 高级知识点
- 移动App架构经验总结
- 果味啤酒卖点介绍,洗发水产品介绍以及卖点总结
- SQL优化最干货总结 - MySQL
- 软件测试知识点3大场景带你了解单元测试
- Linux下应用开发基础知识大总结
- 六年级语文上册第二单元知识积累?人教版六年级上册语文单元总结_1
- 看这篇就够了!MySQL 索引知识点超全总结
