这些命令本来已经用了很多遍了,但是很久没用就忘的差不多,记下来方便以后用的时候可以速查。
容器操作
进入容器
docker exec -it [容器名] /bin/bash
查看容器运行日志
最近10行
docker log/logs [容器id] --tail=10
将文件拷贝到容器中
docker cp [文件名] [容器名]:[位置]
互换顺序即可将文件导出
删除所有已经关闭的容器
docker container prune
镜像操作
基于dockerfile生成镜像文件
docker build -t [镜像名]:[tag] [目录]
容器/镜像打包
镜像<—>文件
docker save -o [文件名.tar] [镜像名]:[tag]
docker load < [文件名.tar]
容器<—>文件
容器导出为文件
docker export -o [文件名.tar] [容器名]
docker export [容器名] [文件名.tar]
文件导入为镜像
docker import [文件名.tar] [镜像名]:[tag]
这个方法会丢失镜像的历史和layer,各种环境变量和cmd都会丢失
不推荐使用
容器—>镜像
容器直接固化为镜像
docker commit [容器名] [镜像名]:[tag]
参数:
- -m 说明文字
- -a 镜像作者
- -c 使用Dockerfile(未使用过)
- -p commit时暂停容器(未使用过)
Dockerfile的编写
FROM python:3
WORKDIR /usr/src/app
COPY . .
RUN pip install --no-cache-dir -r requirements.txt
#ENTRYPOINT ["python"]
ENTRYPOINT ["tail","-f","/dev/null"]
CMD ["python3"]
持久运行
ENTRYPOINT ["tail","-f","/dev/null"]