dockerNote
常用命令:
查看运行中的容器:
1 | docker ps |
停止运行中的容器,可以使用容器名或容器ID
1 | docker stop static_web |
重新启动关闭的容器
1 | docker start 容器ID/容器名 |
附着到正在运行的容器
1 | docker attach 容器ID/容器名 |
从容器中构建镜像
查找需要导出镜像的容器
1 | docker commit -m "lrr第一次test" -a "lrr" 13f79514a41e ufoym/deepo:pytorch-py36-cu100 |
运行结果:
导出镜像:
1 | docker save -o LRR/docker/my_deeplearning_01 5ee3ae62a0eb |
查看结果:
推送镜像到dockerHub
若在push过程中出现:denied: requested access to the resource is denied
则需要将镜像的用户名和dockerhub的用户名保持一致,可以用docker tag进行修改
1 | docker push brooke921090271/static_web |
结果:
为镜像添加别名
第一个参数为源,第二个参数为别名
1 | docker tag lrr01/static_web:latest brooke921090271/static_web |
docker复制文件到容器
第一个参数为本机路径,第二个参数为容器名/容器ID:容器中的路径
1 | docker cp Linda3615_requirements.txt myexp2:/root/Linda3615_requirements.txt |
为正在运行的容器启动另一个终端
若对正在运行的容器进行attach,会进入同一个终端
1 | docker exec -it myexp2 /bin/bash |
启动深度学习镜像
1 | docker run -it --gpus all ufoym/deepo:pytorch-py36-cu100 /bin/bash |
docker run 参数
Run a command in a new container
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG…]
-i
:Keep STDIN open even if not attached,保证容器中STDIN是开启的-t
:Allocate a pseudo-TTY,分配为tty终端--name
:为容器分配名字
Example:
1 docker run -i -t ubuntu /bin/bash开启以上两个参数才可以提供一个交互式的Shell
--gpus gpu-request
: GPU devices to add to the container (‘all’ to pass all GPUs),这里可以用0,1,2选择
docker stop参数
Stop one or more running containers
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-t
,Seconds to wait for stop before killing it (default 10),等待一段时间后杀死容器
docker commit 参数
Create a new image from a container’s changes
Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
-a
:–author string-m
:–message string Commit message-p
:–pause Pause container during commit (default true)
docker save参数
Save one or more images to a tar archive (streamed to STDOUT by default)
-o
:–output string Write to a file, instead of STDOUT