Docker常用操作
增、改、删、查
- 查看服务器上存在的镜像
docker images
- 查看存在的容器
docker ps #查看运行的容器
docker ps -a #查看所有的容器,包括已经退出的容器
-
从存在的镜像创建容器
运行~目录下的./deploy_container_with_gpu.sh
注意:
source folder:为刚才在2.2步骤中建立的/目录下的test文件夹(/test)
target folder:是在新建的容器中的映射文件夹,名字可以跟test一样,将虚拟机中文件映射到docker容器中。

也可以使用下列命令创建容器:
docker run -itd --name [容器名] [镜像名]
第一次创建的容器,退出后会自动关闭,需要手动重启:
docker restart [容器名]或[容器ID]
如:
docker restart pytorch040-py3-cuda8
docker restart 5d53c112ebf5
-
进入容器
进入容器前,使用
docker ps -a查看容器信息
docker exec -ti [容器名] bash

- 退出容器
exit
如果exit退出不了,可以使用ctrl+P+Q快捷键。
- 删除镜像
docker rmi [image id]
想要删除untagged images,也就是那些id为None的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
- 删除容器
docker stop [容器ID] #删除容器之前需要关闭容器
docker rm [容器ID]
也可以批量关闭和删除:
docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
从容器创建一个新的镜像,并上传到docker hub
step1
首先,要注册一个docker 账号,并创建一个仓库,用户名和仓库名是接下来要用到的。这些操作和github很像。
- 在终端登录docker账号
docker login
#然后根据提示输入用户名和密码
step2
使用commit命令,创建镜像。
语法
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]
OPTIONS说明:
- -a :提交的镜像作者;
- -c :使用
Dockerfile指令来创建镜像; - -m :提交时的说明文字;
- -p :在commit时,将容器暂停。
实例
将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
runoob@runoob:~$ docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
sha256:37af1236adef1544e8886be23010b66577647a40bc02c0885a6600b33ee28057
runoob@runoob:~$ docker images mymysql:v1
REPOSITORY TAG IMAGE ID CREATED SIZE
mymysql v1 37af1236adef 15 seconds ago 329 MB
step3
打包成功后,使用tag命令标记本地镜像,将其归入远程仓库。
这一步也可以合并到step2中,即在commit时指定远程仓库名。
语法
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
实例
将镜像ubuntu:15.10标记为 runoob/ubuntu:v3 镜像。
root@runoob:~# docker tag ubuntu:15.10 runoob/ubuntu:v3
root@runoob:~# docker images runoob/ubuntu:v3
REPOSITORY TAG IMAGE ID CREATED SIZE
runoob/ubuntu v3 4e3b13c8a266 3 months ago 136.3 MB
step4
用push命令将本地镜像上传到远程仓库。
语法
docker push [OPTIONS] NAME[:TAG]
OPTIONS说明:
- disable-content-trust :忽略镜像的校验,默认开启
实例
上传本地镜像myapache:v1到镜像仓库中。
docker push myapache:v1
参考链接:

浙公网安备 33010602011771号