cmd dockerfile 没有执行_微服务之——dockerfile 编写

本文详细介绍了使用 Dockerfile 创建自定义镜像的方法,包括 USER、WORKDIR、ADD、EXPOSE、RUN、ENV、CMD 和 ENTRYPOINT 指令的使用,并通过多个实战案例展示了如何构建基于 CentOS 的 httpd、sshd 和 nginx 镜像。通过这些案例,读者将能够理解并熟练掌握 Dockerfile 的编写技巧。
摘要由CSDN通过智能技术生成
17b661a8ebad614d5c5898beca42b8b6.png

一、自定义镜像有两种方法:

  • 1、docker commit

启动一个容器,增删改查,安装软件,修改配置文件等 ; 另存为一个新镜像

docker run -it docker.io/centos 启动一个容器

yum install -y vim net-tools

ctrl+p+q 退出容器

docker ps 查看容器ID

docker commit 容器id 镜像名:标签名

  • 2、编写dockerfile 文件

Dockerfile 语法格式:

FROM : 基础镜像

MAINTAINER: 镜像创建者信息

EXPOSE: 开放端口

ENV: 设置变量 (有些服务软件安装需要环境变量)

ADD: 复制文件到镜像,也可以使用wget功能

COPY: 类似于add,只不过他不支持wget

RUN: 制作镜像时执行的命令,可以有多个

WORKDIR: 定义容器默认工作目录

CMD: 容器启动执行时的命令,仅可以有一条CMD

ENTRYPOINT : 类似于cmd ,cmd 命令可以被docker run 覆盖,而他不会被覆盖,而且要比CMD或者 docker run 指定的命令要靠前执行

00fbdd5ff5cfa1e0a128889ce2abe478.png

-----------------Dockerfile(1)--USER--WORKDIR指令----------------

[root@localhost docker]# mkdir /data/docker/dockerfile

[root@localhost docker]# cd /data/docker/dockerfile

[root@localhost docker]# vim dockerfile

FROM feixiangkeji974907/nginx:v1.12.2

USER nginx

WORKDIR /usr/share/nginx/html

--------------------构建镜像--------------------------

docker build -t 镜像名:标签 Dockerfile所在路径

eg : [root@localhost dockerfile]#docker build -t feixiangkeji974907/nginx:v1.12.2_with_user_workdir /data/docker/dockerfile/dockerfile

查看镜像:

[root@localhost dockerfile]# docker images

47267be0c8f71594837db05fe85303cd.png

启动容器

[root@localhost dockerfile]# docker run --rm -it --name

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值