Docker相关操作
- docker安装及nvidia-docker安装
-
- 基本操作
- 1.查看docker信息
- 2.对镜像进行操作(search, pull, images,rmi,history)
- 3. 启动容器(run)
- 4. 查看容器(ps)
- 5. 保存对容器的修改(commit)
- 6.对容器的操作(rm, stop, start, kill, logs, diff, top, cp,restart, attach)
- 7. 保存和加载镜像(save\load)
- 8.登陆registry server
- 9.发布image
- 10. 根据dockerfile构建一个容器
docker安装及nvidia-docker安装
docker(version<19)
docker(version>=19)
基本操作
1.查看docker信息
查看docker版本
docker version
显示docker系统的信息
docker info
2.对镜像进行操作(search, pull, images,rmi,history)
检索image
docker search image_name
下载image
docker pull image_name
列出镜像列表
docker images
删除一个或者多个镜像
docker rmi image_name
显示一个镜像的历史
docker history image_name
3. 启动容器(run)
在容器中运行“echo”命令,输出“hello world”
docker run image_name echo "hello world"
交互式进入容器中
docker run -it image_name /bin/bash
在容器中安装新的程序
docker run image_name apt-get install -y app_name
Note: 在使用nvidia-docker启动容器时,-p指定端口映射后,在docker ps -a中显示不出来端口信息,但是实际上是完成端口映射的。
4. 查看容器(ps)
列出当前所有正在运行的container
docker ps
列出所有的container
docker ps -a
列出最近一次启动的container
docker ps -l
5. 保存对容器的修改(commit)
保存对容器的修改;-a, --author="" Author; -m, --message="" Commit message
docker commit ID new_image_name
6.对容器的操作(rm, stop, start, kill, logs, diff, top, cp,restart, attach)
删除所有容器
docker rm 'docker ps -a -q'
删除单个容器
docker rm Name/ID
停止、启动、杀死一个容器
docker stop Name/ID
docker start Name/ID
docker kill Name/ID
从一个容器中取日志
docker logs Name/ID
列出一个容器里面被改变的文件或目录,
docker diff Name/ID
显示一个运行的容器里面的进程信息
docker top Name/ID
从容器里面拷贝文件/目录到本地一个路径
docker cp Name:/container_path to_path
docker cp ID:container_path to_path
重启一个正在运行的容器
docker restart Name/ID
附加到一个运行的容器上面
docker attach ID
7. 保存和加载镜像(save\load)
转移镜像
保存镜像到一个tar包
docker save image_name -o file_path
加载一个tar包格式的镜像
docker load -i file_path
8.登陆registry server
登陆registry server; -e, --email="" Email; -p, --password="" Password; -u, --username="" Username
$docker login
9.发布image
发布docker镜像
$docker push new_image_name
10. 根据dockerfile构建一个容器
--no-cache=false Do not use cache when building the image
-q, --quiet=false Suppress the verbose output generated by the containers
--rm=true Remove intermediate containers after a successful build
-t, --tag="" Repository name (and optionally a tag) to be applied to the resulting image in case of success
$docker build -t image_name Dockerfile_path
|