docker(五)dockerfile(一)第一个Dockerfile实例

85 阅读2分钟

Docker的常用基本命令我们学习的差不多了,但是每次部署都需要一次执行一条命令,可能是比较麻烦,docker为我们提供了命令合集文件dockerFile,在dockerFile中编写要执行的命令合集即可执行。这个方便我们对环境进行部署。

 

一:dockerFile可以简单总结为下面三点:

Dockerfile是用于构建docker镜像的文件

Dockerfile.里包含了构建镜像所需的"指令"

Dockerfile有其特定的语法规则

 

二:dockerFile-demo

下面我们使用一个小示例来学习dockerFile的编写。

有这样一个需求,制作一个镜像,镜像的系统是Ubuntu,在系统上运行test.py程序,python程序内容也很简单,只要输出:hello guanchao.site即可。

1:创建python文件test.py

print("hello https://guanchao.site")

 

2:创建Dockerfile文件

对你没看错,文件的名字就是Dockerfile,没有任何后缀。

文件内容如下:

# 安装Ubuntu系统
FROM ubuntu:latest
# 下载安装python环境
RUN apt-get update && \
    DEBIAN_FRONTEND=noninteractive apt-get install --no-install-recommends -y python3.9 python3-pip python3.9-dev
# 将文件加入到Ubuntu镜像中
ADD /usr/local/docker/test.py /
# 执行python3文件
CMD ["python3","/test.py"]

 

3:通过Dockerfile构建镜像

docker image build -t testubuntu:1.0 /usr/local/docker

1.jpg

注意一下,我得python文件test.py是放在宿主机的根目录下的。

 

4:运行Dockerfile构建的镜像容器

docker container run testubuntu:1.0

输出:

hello https://guanchao.site

 

查看服务器中的docker容器

docker ps -a

2.jpg

发现我们刚刚运行的容器已退出,因为我们在Dockerfile中只运行了python文件就退出了。除此之外没有进行任何交互

 

5:将镜像容器推送至阿里云

关于如何上传这件事儿请移步《docker(三)docker将本地容器打包镜像并上传

上文中我们并没有演示具体的上传步骤,这里演示一下:

 

(1):首先,需要登录阿里云的镜像仓库

docker login --username=1111111111@qq.com registry.cn-shanghai.aliyuncs.com

这里是需要输入密码的

 

(2):查看所有镜像

docker images

3.jpg

 

(3):给镜像打标签

docker tag 42adf87116b7 registry.cn-shanghai.aliyuncs.com/camellias/test:1.0

命令中的数据对照上一步骤中的tag列以及image id 列

 

(4):上传镜像至阿里云

docker push registry.cn-shanghai.aliyuncs.com/camellias/test:1.0

4.jpg

 

(5):登录阿里云容器镜像服务,发现镜像已上传成功

5.jpg

 

以上大概就是Dockerfile的第一部分内容。

 

有好的建议,请在下方输入你的评论。