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" .
最后面的.
可不要忘了哦。
镜像有了。
提交到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