Docer容器管理
Docker容器的基本管理操作
一、容器的创建
我们可以通过一个镜像来创建容器,容器创建的命令如下:
docker run [OPTIONS] 镜像
常用的选项如下:
选项 | 选项说明 |
---|---|
-i,–interactive | 交互式 |
-t,–tty | 为容器分配一个伪终端(有些容器没有守护进程所以需要一个终端来保持容器运行) |
-d,–detach | 后台运行容器 |
-e,–env | 在容器中指定环境变量 |
-p,–publish llist | 添加一个本地到容器的端口映射 |
-P,–publesh-all | 发布容器的所有EXPOSE端口到宿主机的随机端口 |
-h,–hostname | 指定容器的主机名 |
–name string | 为容器指定一个名字 |
-v,–volume list | 将本地文件系统映射进容器(容器数据持久化) |
–ip string | 为容器指定一个ip(用于自定义的网络) |
–network | 将容器链接到一个网卡 |
–restart string | 容器退出时自当重启策略,默认为no,可选[alwags、on-failure] |
-m,–memory | 指定容器可以使用的最大内存 |
–memory-swap | 指定容器可以使用的交换空间大小 |
–memory-swappiness=<0-100> | 指定容器可以使用交换空间的百分比 |
–cpus | 指定容器可以使用的CPU核心数 |
–cpusset-cpus | 指定容器可以使用特定的CPU核心,如0-1 |
除了上述的参数以外还支持很多的参数,可以通过如下来查看帮助:
docker run --help
二、容器的管理
我们可以通过如下命令来进行容器的管理:
docker container COMMAND
常用的选项为:
选项 | 选项说明 |
---|---|
ls | 列出容器 |
inspect | 查看一个容器的详细信息 |
exec | 在容器中执行命令 |
commit | 创建一个来自容器的新镜像 |
cp | 拷贝文件/文件夹到一个容器 |
logs | 获取一个容器的日志 |
port | 列出指定容器的端口映射 |
top | 列出一个容器运行的进程 |
stats | 现实容器资源使用统计 |
stop/start/restart | 停止/启动/重启一个容器 |
rm | 删除一个或多个容器 |
prune | 删除已经停止的容器 |
三、容器的数据持久化
默认情况下,容器运行中产生的文件或在容器中创建的文件都被保存在容器的可读写层中。当容器消失时,所产生的文件也会随之消失,容器也很难将数据迁移到其他的主机上。为了解决这样的问题就需要将容器的数据进行持久化。
Docker常用的数据持久化方式有两种,第一种是Vloumes:将宿主机的文指定文件系统挂载到容器中(/var/lib/docker/volumes),另一种是bind mounts:将宿主机的任意位置的文件或目录挂在到容器中。具体配置方法如下:
Volumes方式
1.创建数据卷
docker volume create <数据卷名>
2.创建容器时使用数据卷
docker run -d --mount src=<数据卷名> dest=容器中的挂载点 镜像名
bind mount方式
1.创建容器时挂载目录到容器
docker run -d -v 宿主机目录:容器中的挂载点 镜像名