1.查看本机上所有image
docker images
2.查看运行中的docker container
docker ps
查看所有container,包括已被停止的container
3.从当前目录Dockerfile创建一个新的docker image,名为ubuntu的image的tag是latest
docker build -t [imageName]:[tag] [path] docker build -t ubuntu:latest .
其中-t指定image的tag,最后一个参数是Dockerfile的路径。
删除存在的image:(必须在所有container都被kill之后) (务必注意请仅操作属于自己的docker image)
Docker rmi [image ID]
4.从image创建一个container,给container命名一个名字,从主机中同步一份文件到container中
docker run -ti -v [file path in host]:[file path in container] --name [container name] [docker image name] bash docker run -ti -v /home/lixiaodian/document/:/home/document/ --name lixiaodian ubuntu bash
用交互式方式运行名为3drecnet的image(-ti),将主机的文件夹与创建的container里的文件夹同步(-v),使你在container中所作的修改能够实时保存在主机中,可以防止container意外关闭数据丢失。最后一个参数指定运行方式
5.打开在后台运行中的container
docker exec -ti [container_name] bash docker exec -ti lixiaodian bash
6.访问远端服务器上docker里运行的tensorboard
- 在服务器端使用docker -p给docker映射一个服务器端口:
docker run -ti -v /home/lixiaodian/document/:/home/document/ -p 0.0.0.0:6007:6006 [name of container] bash
其中:-v及其参数表示内存同步,-p的参数含义为ip:hostPort:containerPort
- 在docker上使用6006端口正常启动tensorboard:(用pip安装了tensorboard,所以直接命令行运行)
tensorboard --logdir=./
- 用浏览器访问服务器响应端口:202.120.38.51:6007
7.宿主机和container文件互传
docker cp [file path in host] [container name]:[file path in container] docker cp /home/lixiaodian/Data/cudnn-8.0-linux-x64-v6.0.tgz ubuntu:/home/Download
对于已经退出的container,则可以使用docker ps -a来查看。 如果你退出了一个container而忘记保存其中的数据,你可以使用docker ps -a来找到对应的运行过的container使用docker commit命令将其保存为image然后运行。
原文地址:https://www.cnblogs.com/lixiaodian/p/9790163.html