Docker学习之Dock初识(一)

DockerFile中的命令详解

ENV命令用来指定环境变量

  ex:
		ENV TZ“Asia / ShangHai”用来指定镜像的时区
  		ENV TREM xterm用来指定Linux的虚拟终端类型

ADD和COPY指令

需要说明的是在DockerFile中,ADD和COPY指令都用来复制文件,区别在于ADD可以自动将文件解压后拷贝,而COPY指令只能将解压后的文件进行拷贝。 

一般ADD命令用来添加一些镜像源或者拷贝一些配置文件,例如在Centos7中:

 ex:
  - ADD aliyun-mirror.repo /etc/yum.repos.d/CentOS-Base.repo 
  - ADD aliyun-epel.repo /etc/yum.repos.d/epel.repo

VOLUME指令

通过宿主机映射contina中的文件夹

ONBUILD指令

 ONBUILD RUN指令用来当构建这个镜像时,指定的命令不会去执行通过当前镜像作为基础镜像,构建下一个镜像时,启动生效。

RUN指令

 RUN指令后一般会书写可被执行的SHELL命令 
 例如:
 		yum install lzzrz(安装文件上传下载服务)
 		bash -c'touch /app.jar'(拷贝编译后的jar到容器中)

EXPOSE指令

  在DockFile中用EXPOSE:端口号可以选择将指定的端口号暴露给宿主机

ENTRYPOINT指令

ENTRYPOINT指令用来指定容器(Continer)每次启动的时候执行的命令
例如: ENTRYPOINT [“/ usr / bin / supervisord”,“ -  n”,“ -  c”,“/ etc / supervisord.conf”]这个命令就是用来在容器启动的时候,启动进程管理器Supervisord并指定配置文件

Docker命令相关

Docker Build

例如:	Docker build -t repository_url / namespace / continer_name / centos-lastest。

-t代表指定镜像的名称不写-t参数则需指定/路径DockFile文件所在的位置。默认DockFile在当前目录下

Docker Run

 例如:docker运行- d -p 2222:22 -name dbserver 

-d 在后端启动,返回docker的learid
-it 以交互模式启动
-p 映射端口,不管连续是否重启映射端口不会发生变化
-P(大写)宿主机会随机选择端口映射22,重新启动之后会发生变化

Docker PS

 docker ps查看所有正在运行的容器。
 docker ps -a查看所有已经构建成功的容器。

**

遇到的一些问题及解决方案

**

  1. 在写Docker中的启动脚本时要在SHELL脚本的开始加上set -e set-e的作用是当脚本执行发生错误时,立即停止执行,避免造成更大的影响。

  2. 在windows中执行Shell脚本的时候,会因为windows和unix的换行符和其他隐藏字符导致脚本无法继续执行,此时要通过:set ff查看当前文档的格式是unix还是windows,如果是windows需要更改为unix,保存之后,继续执行就不会发生错误了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值