docker----dockerfile文件

2019-03-26  本文已影响0人  不过意局bugyj

使用dockerfile文件创建一个镜像

1.新建文件

vi dockerfile

编辑内容为:

FROM centos
VOLUME ["/dockerfileHostShare", "/dockerfileContainerShare"]
CMD echo 'running centos'
CMD /bin/bash 
# equals:
# docker run -v /镜像目录下的_data目录:/dockerfileHostShare -v /镜像目录下的_data目录:/dockerfileContainerShare -it centos /bin/bash
# docker build -f dockerfile -t dockhapi/one:v2 执行以dockerfile文件构建镜像

以上内容相当于:

docker run -v /镜像目录下的_data目录:/dockerfileHostShare -v /镜像目录下的_data目录:/dockerfileContainerShare -it centos /bin/bash

比如我这次共享的目录就默认在属主机的:
/var/snap/docker/common/var-lib-docker/volumes/b9433348d46f76e52553fe0c8c04902f95cf7f48243e186dbed0658b104c3b99/_data目录下,对应于镜像中的/dockerfileHostShare目录。

2. 构建镜像

docker build -f dockerfile  -t dockhapi/one:v2

然后出现


构建成功

3. 验证并运行

验证

docker images

可以看到dockhapi/one:v2镜像创建成功,大小和centos镜像一样大,这是因为该镜像就是在centos基础上构建的。

运行镜像

docker run  -name=temp -it dockhapi/one:v2 /bin/bash

可能会遇到的错误

我在构建是就会出现错误如:
error checking context: 'can't stat '/root/.IntelliJIdea2018.3''.
我就想我的intellij关你毛事啊,然后谷歌下才知道,应该是docker进程没有该目录下的权限造成的!因为我现在还是在root目录下运行。所以我就移至home目录下,但同样home目录下的别的无关目录还是会有影响,所以我创建了一个新的目录放dockerfile就行了!

关于dockerfile的后面有再写,该洗洗睡了!

上一篇 下一篇

猜你喜欢

热点阅读