容器管理

Posted tz90

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了容器管理相关的知识,希望对你有一定的参考价值。

一、容器简介

容器是镜像的一个运行实例,镜像是只读文件,容器运行时带有可写文件层。

二、创建容器

1.新建容器

$docker create -it ubuntu:latest
$docker ps -a
-i:保持标准输入打开,默认为false
-t:是否分配一个伪终端,默认为false

2.启动容器

$docker start ubuntu
$docker ps

3.新建并启动容器

run等价于先执行create再执行start

下面命令先输出Hello World之后容器自动终止

$docker run ubuntu /bin/echo ‘Hello World"

启动一个bash终端与用户进行交互,退出Ctrl+d或者exit

$docker run -it ubuntu:18.04 /bin/bash

4.守护运行

在后台运行容器,容器启动后会返回一个ID

$docker run -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"
#可通过如下命令查看容器信息
$docker ps 或
$docker container ls

5.查看容器输出

$docker logs ce554267d7a4
-details:打印详细信息
-f:持续保持输出
-since string:从某个时间开始的日志
-tail string:输出最近的日志
-t:显示时间戳信息
-untul string:输出某个时间之前的日志

三、停止容器

1.暂停/恢复/终止容器/启动

$docker pause/unpause/stop/start unbuntu

2.自动清除处于停止状态的容器

当容器中指定应用终结时,容器也就自动终止了,处于stopped状态

$docker container unbuntu

3.强行终止容器

$docker kill unbuntu

四、进入容器

1.attach命令

使用-d参数,容器启动后会进入后台模式,使用此命令可进入容器

当多个窗口同时attach同一个容器时,所有窗口会同步显示,当一个命令在执行时其他窗口无法操作,故不推荐使用

$docker attach ubuntu

2.exec命令

可以在运行中的容器内执行任意命令

#进入容器并启动一个bash
$docker exec –it 243c32535da7 /bin/bash

五、删除容器

1.rm命令

#只能删除处于停止或退出状态的容器,需要删除运行中的容器要加-f参数
$docker rm -f ubuntu
-f:强制删除运行中的容器
-l:删除容器连接保留容器
-v:删除容器挂载的数据卷

六、导入导出容器

1.导出容器

导出一个已经创建的容器成一个文件

#-o参数指定导出的tar文件名,也可使用重定向实现
$docker export -o test_ubuntu ubuntu
$docker export ubuntu > test_ubuntu.tar

2.导入容器

使用import命令导入容器成为镜像

$docker import test_ubuntu.tar test_ubuntu:v1.0

七、查看容器

1.查看容器详情

$docker container inspect ubuntu

2.查看容器内进程

$dcoker top ubuntu

3.查看统计信息

#显示CPU,内存,存储,网络等使用情况
$docker stats ubuntu
-a:输出所有容器统计信息
-format string:格式化输入信息
-no-stream:不持续输出,默认实时更新结果
-no-trunc:不截断输出信息

八、其他容器命令

1.复制文件

cp命令支持在容器和主机之间复制文件

#将本地路径的data复制到ubuntu容器的/tmp路径下
$docker cp  data ubuntu:/tmp/

2.查看更改

container diff查看容器内文件系统的变更

$docker container diff ubuntu

3.查看端口映射

container port命令查看容器端口映射情况

$docker container port ubuntu

4.更新配置

container update命令更新容器运行时配置,限制资源使用率

#限制总配额为1秒
$docker update –cpu-quota 1000000 ubuntu

以上是关于容器管理的主要内容,如果未能解决你的问题,请参考以下文章

使用 Git 来管理 Xcode 中的代码片段

提交带有全屏片段的片段事务

massCode 一款优秀的开源代码片段管理器

如何管理在每个 git 版本中添加私有代码片段?

如何在 Android 中的特定片段容器中显示片段

尝试将片段添加到我的片段容器 FrameLayout