文章目录
- Docker容器使用及命令
- Docker 客户端
- 查看容器
- 启动容器
- 进入和退出容器
- 停止和重启容器
- 删除容器
- 导出和导入容器
- 查看容器信息
Docker容器使用及命令
容器就是镜像的一个实例,相当于面向对象中的类和对象,镜像相当于类,而容器则相当于对象。
Docker 客户端
docker 客户端非常简单 ,我们可以直接输入 docker 命令来查看到 Docker 客户端的所有命令选项。
docker
可以通过命令 docker command --help
更深入的了解指定的 Docker 命令使用方法。
例如我们要查看 docker stats
指令的具体使用方法:
docker stats --help
查看容器
查看所有的容器:
docker ps -a
查看正在运行的容器
docker ps
启动容器
以下命令使用 redis 镜像启动一个容器,参数为以命令行模式进入该容器:
docker run -it --name=myRedis redis /bin/bash
参数说明:
- -i: 交互式操作
- -t: 终端
- name:指定容器的名字
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 shell,因此用的是 /bin/bash
要退出终端,直接输入 exit
exit
后台启动
在大部分的场景下,我们希望 docker 的服务是在后台运行的,我们可以过 -d 指定容器的运行模式。
docker run -id --name myRedis redis /bin/bash
注:加了 -d
参数默认不会进入容器,想要进入容器需要使用指令 docker exec
(下面会介绍到)。
启动一个已经停止的容器
首先用docker ps -a
查看有哪些容器:
启动已经停止的myRedis容器:
docker start 438a9db4aed5
用完即删
一般用于测试,退出容器之后会自动删除。
docker run -it --rm redis /bin/bash
以继承的方式启动容器:
docker run -it --name yourRedis --volumes-from myRedis redis /bin/bash
yourRedis继承了myRedis后启动,启动以后,myRedis和yourRedis的数据卷是共享的。即实现了容器之间的数据共享。
进入和退出容器
在使用 -d 参数时,容器启动后会进入后台。此时想要进入容器,可以通过以下指令进入:
# 进入容器后开启一个新的终端,可以在里面操作(常用),用exit退出后不会关闭容器
docker exec [容器id]
# 进入容器正在执行的终端,不会启动新的进程(不推荐使用),用exit退出后会关闭容器
docker attach [容器id]
退出容器
exit
停止和重启容器
停止容器的命令如下:
docker stop [容器 id]
停止所有容器
docker stop $(docker ps -aq)
重启容器
docker restart [容器 id]
删除容器
删除指定容器:
docker rm -f [容器 id]
清理所有处于终止状态的容器:
docker container prune
直接删除所有容器:
docker rm $(docker ps -aq)
导出和导入容器
导出容器
导出容器快照到本地文件(默认导出到当前目录下):
docker export [容器id] > myRedis.tar
导入容器快照
# 导入成功之后可以使用docker images命令查看
cat myRedis.tar | docker import - myredis/redis:latest
此外,也可以通过指定 URL 或者某个目录来导入,例如:
docker import http://example.com/exampleimage.tgz example/imagerepo
查看容器信息
docker inspect [容器名称/容器id]