dockerfile 与镜像构建
Dockerfiles 与镜像构建
Docker 镜像相关命令
镜像构建
docker built -t docker-image-name . -f hello.Dockerfiles
镜像推送
docker tag docker-image-name [dockerhub.example.com/lib/docker-image-name:v1.0.0](http://dockerhub.example.com/lib/docker-image-name:v1.0.0)[
](http://dockerhub.example.com/lib/docker-image-name:v1.0.0)docker login [dockerhub.example.com/lib/docker-image-name](http://dockerhub.example.com/lib/docker-image-name:v1.0.0)[
](http://dockerhub.example.com/lib/docker-image-name:v1.0.0)docker push [dockerhub.example.com/lib/docker-image-name:v1.0.0](http://dockerhub.example.com/lib/docker-image-name:v1.0.0)
Dockerfile 模板
FROM image_name:tag
ADD . /dir_in_container
COPY file1 /dir_in_container/file1
RUN touch /dir_in_container/file2 \
&& mkdir -p /dir_in_container/datadir
workdir /dir_in_container
CMD ["-c", "echo", "Hello World"]
**ENTRYPOINT ["/bin/bash"]**
常用模板
debian 系统
FROM debian:latest
RUN sed -i "[email protected]@mirrors.163.com@g" /etc/apt/sources.list \
&& apt-get install -y git \
&& apt-get clean \
&& echo "Hello World"
workdir /data
CMD ["-c", "echo", "Hello World"]
**ENTRYPOINT ["/bin/bash"]**
Ubuntu 系统
FROM debian:latest
RUN sed -i "[email protected]@mirrors.163.com@g" /etc/apt/sources.list \
&& apt-get install -y git \
&& apt-get clean \
&& echo "Hello World"
workdir /data
CMD ["-c", "echo", "Hello World"]
**ENTRYPOINT ["/bin/bash"]**
alpine 系统(体积较小)
FROM alpine:latest
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.ustc.edu.cn/g' /etc/apk/repositories \
&& apk add --no-cache git \
&& echo "Hello World"
workdir /data
CMD ["-c", "echo", "Hello World"]
**ENTRYPOINT ["/bin/bash"]**
带有 docker,helm 的镜像
// 替换镜像源 [debian | 镜像站使用帮助 | 清华大学开源软件镜像站 | Tsinghua Open Source Mirror
](https://mirrors.tuna.tsinghua.edu.cn/help/debian/)// 安装docker [Install Docker Engine on Debian | Docker Documentation
](https://docs.docker.com/engine/install/debian/)// 安装helm [Helm | 安装Helm](https://helm.sh/zh/docs/intro/install/)
# 创建一个远程服务器
docker context create example-server \
--description "connection to example server" \
--docker "host=tcp://your-remote-server.org:2375"
# 指定一个远程服务器运行docker命令
docker --context example-server ps
# 或者切换一个远程服务器
docker context use example-server
docker ps
在 Windows 中使用 docker-cli 连接远程的 docker-engine (非 Docker for Windows) – 川 (netcore.run)
常用镜像
python3
| os | 版本 | 备注 | |
| python:3.9-alpine | alpine | 3.9 | 体积较小,越xxMB |
| python:3.9-slim | 体积较小,越xxMB | ||
参考资料
Dockerfile 中的 CMD 与 ENTRYPOINT - sparkdev - 博客园 (cnblogs.com)