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
注意一下,我得python文件test.py是放在宿主机的根目录下的。
4:运行Dockerfile构建的镜像容器
docker container run testubuntu:1.0
输出:
hello https://guanchao.site
查看服务器中的docker容器
docker ps -a
发现我们刚刚运行的容器已退出,因为我们在Dockerfile中只运行了python文件就退出了。除此之外没有进行任何交互
5:将镜像容器推送至阿里云
关于如何上传这件事儿请移步《docker(三)docker将本地容器打包镜像并上传》
上文中我们并没有演示具体的上传步骤,这里演示一下:
(1):首先,需要登录阿里云的镜像仓库
docker login --username=1111111111@qq.com registry.cn-shanghai.aliyuncs.com
这里是需要输入密码的
(2):查看所有镜像
docker images
(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
(5):登录阿里云容器镜像服务,发现镜像已上传成功
以上大概就是Dockerfile的第一部分内容。
有好的建议,请在下方输入你的评论。