您当前的位置:首页 > 计算机 > 云技术 > Docker

Dockerfile 的基本使用初体验

时间:12-14来源:作者:点击数:
mkdir -p /opt/dockerfile/centos6.9_sshd

vim Dockerfile

# Centos6.9-sshdv1.0
# 第一个非注释行必须以FROM开头
FROM centos:6.9
RUN yum install -y openssh-server
RUN /etc/init.d/sshd start && /etc/init.d/sshd stop && echo "123456" | passwd root stdin
EXPOSE 22
CMD ["/usr/sbin/sshd","-D"]

使用:
docker build -t "centos6.9-sshd:v1.0" ./

FROM:基础镜像

语法有两种语法

方法一:FROM centos:6.9
方法二(更安全):FROM centos@imageID

RUN:构建镜像过程中运行的命令

dockerfile每执行一条语句就会创建一个临时容器,这些临时容器后期可以用以调试。
这些临时镜像是不能删除的。因为会有依赖问题。
所以能写在一行就尽量写在一行,避免创建过多的临时容器。多个命令之间用&&连接

RUN也有两种语法:
第一种(常用):运行bash命令(yum install -y openssh-server)
第二种:[命令,第一个参数,第二个参数,......]

EXPOSE:向外暴露的端口

CMD(最后出现):使用镜像启动容器时默认运行的命令

COPY:将宿主机dockerfile所在目录下的文件拷贝到容器的知道目录下(支持通配符)。如果拷贝的是目录,只拷贝目录下的子文件

ADD:将宿主机dockerfile目录下的文件拷贝到容器内,如果是压缩文件会自动解压( .tar.gz/.tar.bz2/.tar.xz/.tar ),可以指定源为url

VOLUME:制作容器时候设置好数据卷,启动容器的时候就不需要-v配置数据卷了

WORKDIR:切换目录

ENV:声明环境变量

USER:切换用户

ENTRYPOINT(最后出现):CMD可以被启动容器时指定的命令替换,而ENTRYPOINT不能被替换

方便获取更多学习、工作、生活信息请关注本站微信公众号城东书院 微信服务号城东书院 微信订阅号
推荐内容
相关内容
栏目更新
栏目热门
本栏推荐