dockerNote

常用命令:

查看运行中的容器:
1
docker ps
停止运行中的容器,可以使用容器名或容器ID
1
docker stop static_web
重新启动关闭的容器
1
docker start 容器ID/容器名
附着到正在运行的容器
1
docker attach 容器ID/容器名
从容器中构建镜像

查找需要导出镜像的容器

image-20210708181544821

1
docker commit -m "lrr第一次test" -a "lrr" 13f79514a41e  ufoym/deepo:pytorch-py36-cu100

运行结果:

image-20210708182252743

导出镜像:
1
docker save -o LRR/docker/my_deeplearning_01 5ee3ae62a0eb

查看结果:

image-20210708183802897

推送镜像到dockerHub

若在push过程中出现:denied: requested access to the resource is denied

则需要将镜像的用户名和dockerhub的用户名保持一致,可以用docker tag进行修改

1
docker push brooke921090271/static_web

结果:

image-20210708184918475

为镜像添加别名

第一个参数为源,第二个参数为别名

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
作者

bd160jbgm

发布于

2018-01-17

更新于

2021-07-08

许可协议