自动删除所有缓存
bash
1 | find .-name '__pycache__' -type d -exec rm -rf {} \; |
执行镜像 生成容器
bash
1 | docker run -itd --name movie2 -v /Users/haibei/Desktop/tar/:/app/data/ -p 8000:8000 717f187f1835 |
- -d: 后台运行容器,并返回容器ID;
- -i: 以交互模式运行容器,通常与 -t 同时使用;
- -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
根据当前位置的dockerfile构建镜像
- docker build -t 镜像名称 文件位置
bash
1 | docker build -t hezhefly/movie . |
- –tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;
bash
1 | docker build github.com/creack/docker-firefox |
删除所有镜像
bash
1 | docker rmi 'docker images -q' |
删除所有容器
bash
1 | docker rm 'docker ps -a -q' |
按条件批量删除镜像
- 标签为
<none>
的镜像,参考張業興的博客
bash
1 | docker ps -a | grep "Exited" | awk '{print $1}' | xargs docker stop |
- 语法说明
grep:正则搜索
awk: 样式扫描
进入容器内部
bash
1 | docker exec -it 镜像名称 /bin/bash |
- -t: 分配一个伪终端
- -i: 即使没有附加也保持STDIN 打开
alpine版镜像没有bash,需要在创建镜像时安装bash
bash
1 | RUN apk update \ |
复制文件到镜像,拷贝镜像文件出来
bash
1 | docker cp 宿主机地址 容器名: 容器地址 |
bash
1 | docker cp 容器名:容器地址 宿主机地址 |
自启动
bash
1 | docker run --restart=always |
追加自启动命令
bash
1 | docker update --restart=always <CONTAINER ID> |
镜像打包
bash
1 | docker commit -a "hezhefly" -m "first test" 6f6dd434ea77 reranking:v1 |