docker专题

dockerfile快速体验

2020-02-17  本文已影响0人  深圳邱道长

通过构建一个脚本来构建我们的镜像。它有其固定的语法规则,我们要做的就是理解规则,并制作我们需要的镜像。

准备工作

mkdir static_web
cd static_web
touch Dockerfile
touch sources.list

写入sources.list

因为默认的Ubuntu源很慢,我们使用阿里。

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

写入内容

将下面的 内容写入Dockerfile当中

# 基础镜像
FROM  ubuntu:18.04
# 维护者
LABEL maintainer="singkingcho@gmail.com"
# 添加源,从宿主机添加到容器
ADD sources.list /etc/apt
# 执行的命令
RUN apt-get update; apt-get install -y nginx
RUN echo "hi,我是你的容器" > /var/www/html/index.html
EXPOSE 80

构建

现在可以使用Dockerfile构建我们的镜像了。

docker build -t ="qiudaozhang/static_web" .

最后面的.可不要忘了哦。

image.png image.png

镜像有了。

提交到Docker hub

docker push qiudaozhang/static_web:latest
image.png image.png

这里能看到mounted from另外一个镜像,因为这之前我做个一个别的镜像,这些层在那个镜像里面有了,所以直接挂在,不再需要上传。

上下文

我们前面的命令里面有一个. 这是一个上下文路径,你用一个URL代替也可以,比如常见的我们会用github

docker build -t ="qiudaozhang/static_web"  https://github.com/qiudaozhang/xxxxx

这种模式一样是可以的。

最后,你可以在docker hub找到我的镜像。

image.png image.png
上一篇下一篇

猜你喜欢

热点阅读