[ ]內是需要自定義的內容
鏡像
查看鏡像
docker images
docker images | grep [nvidia]
運行鏡像
docker run -dit --name [ubuntuFirst (這個名字任意起)] [鏡像id] /bin/bash
上述指令執行後會返回容器id,可供之後進入容器使用,類似:
$ docker run -dit e135 /bin/bash
cc6d96c06c7b86c99e6676eead642dfe3c5c786c0fbda62c237280e4decf4c75
如果安裝了nvidia-docker的話,可以在容器中使用GPU
#### Test nvidia-smi with the latest official CUDA image
docker run --gpus all nvidia/cuda:10.0-base nvidia-smi
# Start a GPU enabled container on two GPUs
docker run --gpus 2 nvidia/cuda:10.0-base nvidia-smi
# Starting a GPU enabled container on specific GPUs
docker run --gpus '"device=1,2"' nvidia/cuda:10.0-base nvidia-smi
docker run --gpus '"device=UUID-ABCDEF,1"' nvidia/cuda:10.0-base nvidia-smi
# Specifying a capability (graphics, compute, ...) for my container
# Note this is rarely if ever used this way
docker run --gpus all,capabilities=utility nvidia/cuda:10.0-base nvidia-smi
修改鏡像標籤
docker tag pytorch_gpu_from_ckj_tf_gpu:v1.0 192.168.137.10:8888/ansheng_pytorch/pytorch_from_ckj_tf_gpu:v1.0 //給需要上傳到鏡像倉庫的的鏡像打上對應標籤
上傳鏡像
上傳前需要登錄
docker login 219.216.99.4:8888 -u [鏡像倉庫用戶名] // 執行後需要輸入密碼
- 通常只需要登陸一次,以後會默認上傳至這個鏡像倉庫
docker push 192.168.137.10:8888/ansheng_pytorch/pytorch_from_ckj_tf_gpu:v1.0 //將打過標籤的鏡像上傳到鏡像倉庫
將鏡像保存成文件
docker save -o [java8.tar (文件名)] [lwieske/java-8 (鏡像名)]
docker load < java8.tar
刪除鏡像
docker rmi [鏡像全稱或鏡像ID]
容器
查看容器
查看正在運行的容器
docker ps
docker ps -a
docker ps | grep []
進入容器
docker exec -it [容器id] /bin/bash
- 正在運行的容器可以多次進入
啓用已經退出的容器:
docker start [容器id]
向運行的容器中拷貝文件
docker cp [本地文件路徑] [容器ID或者name]:[/home/Downloads]
保存容器爲鏡像
進入另一個終端
docker [commit -m "install python3.7"] [a540c485cd64 (容器ID)] [ubuntuwithpython:v1.0 (需要保存的鏡像名)]
- 容器中的操作不會影響原有的鏡像,因此必須將修改後的容器保存成新的鏡像
- 建議可以在保存鏡像名時直接保存成上傳至鏡像倉庫的標籤名稱
退出容器
- 在容器環境中按
ctrl+d
即可退出當前容器,返回之前的環境 - 如果容器修改完畢,則應將容器關閉、刪除,避免浪費系統資源
docker kill [容器ID] //殺死這個鏡像所在的容器
docker rm [容器ID] //刪除這個容器(殺死和刪除一定要執行,要不然耗費資源)