Docker教程推荐
两个不错的参考资料:
https://yeasy.gitbooks.io/docker_practice/content/introduction/
https://www.cnblogs.com/bethal/p/5942369.html
镜像:
查看镜像
docker images ls
删除镜像
docker image rm <image id>
拉取镜像
docker pull [镜像名]
例如 docker pull tensorflow/serving:1.14.0-gpu (gpu版本tf-serving)
查找镜像
官方镜像库docker_hub: https://hub.docker.com/
cuda相关镜像:https://hub.docker.com/r/nvidia/cuda/
镜像构建
使用Dockerfile构建镜像
docker build -t [image_name:tag] [上下文路径]
例如:docker build -t antispam/server:test1 .
由运行中的容器构建镜像(不推荐)
docker commit -m “message” -a “author” [CONTAINER ID] [给新的镜像命名]
容器:
查看所有运行容器
docker container ls
docker container ps | grep “tensorflow/serving”
查看所有容器
docker container ls -a
终止指定容器
docker container kill [container id]
删除指定容器
docker container rm trusting_newton
删除所有处于终止状态的容器
docker container prune
运行一个临时容器,使用后自动终止
docker run -it --rm image:tag /bin/bash
-it 相当于设置了一个可以和容器内部交互的伪终端,便于调试和使用
在容器内部时,使用 exit 命令或 Ctrl+d 退出
使用 --rm 参数来确保退出时自动终止当前容器,一般在临时调试时会这样用
后台运行一个容器
使用 -d 参数设置后台运行容器
docker run -d image:tag
容器是否会长久运行,和 docker run 或者Dockerfile中CMD指定要执行的命令有关,和 -d 参数无关。
如果想长久运行一个没有指定任何命令的镜像,可以使用如下命令:
docker run -dit image:tag
使用 -p 参数配置端口映射,让外部可访问容器
docker run -it --rm -p port:port image:tag /bin/bash
docker run -d -p port:port image:tag
使用 --mount 进行文件/目录挂载,必须设置绝对路径
–mount type=bind,source=/src/webapp,target=/opt/webapp
使用exec命令进入一个运行中的容器
docker exec -it container_id bash
数据拷贝
拷贝外部数据到容器中
docker cp /src_path container_id:/dst_path_in_container
拷贝容器中的数据到外部
docker cp container_id:/src_path_in_container /dst_path
示例: docker cp 4b3f8de49dff:/usr/local/tomcat/logs/catalina.out /opt/
转载:https://blog.csdn.net/u011583927/article/details/104094323