历史版本4 :docker常用操作 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

容器化部署后,用户需要掌握一些基础的docker运维知识。

2. 查找容器ID/容器名/容器状态编辑

注:推荐优先使用FineOps「运维组件」和「组件管理」功能查看容器信息。

命令语句:docker ps -a

返回值说明:可以查看所有容器的状态、端口映射以及其他重要信息,从而更好地管理和调试容器化应用程序。

返回值说明

CONTAINER ID

容器的唯一标识符

通常以大写字母和数字的组合形式表示

IMAGE容器使用的镜像名称
COMMAND用于启动容器的命令
CREATED容器创建的时间戳
STATUS

容器的运行状态和健康状况

如正在运行(Up)、已停止(Exited)、正在重启等

PORTS容器所暴露的端口和绑定到主机的端口
NAMES指定的容器名称或自动生成的容器名称

示例:

在示例服务器中,存在一个ops容器,容器ID为「f1ac156d4db9,使用了「ops:v1.6.0」镜像,并以「fanruan230718121827_ops」为容器名称正在运行。

容器于「6天前」创建,从创建至今已运行了 6 天,容器被标记为「healthy」,表示容器内部的应用程序正常运行并且健康。

它将主机「192.168.101.58」的「8081」端口映射到容器的「8080」端口,也就是用户可以通过访问主机的「192.168.101.58:8081」地址来与OPS通信。

3. 重启/关闭/启动容器编辑

命令语句:容器ID/容器名称请根据第二章方法查找。

场景语句
重启容器docker restart 容器ID/容器名
关闭容器docker stop 容器ID/容器名
启动容器docker start 容器ID/容器名

示例:本节示例如何关闭和启动ops容器。

3.1 关闭ops容器

1)查找名称中包含ops的容器:docker ps -a | grep ops

根据返回值确定容器ID为:f1ac156d4db9

2)关闭该容器:docker stop f1ac156d4db9

3)再次查找名称中包含ops的容器:docker ps -a | grep ops

确认容器状态为 Exited ,代表容器成功关闭

3.2 启动ops容器

1)查找名称中包含ops的容器:docker ps -a | grep ops

此时容器状态为 Exited ,代表容器未启动。根据返回值确定容器ID为:f1ac156d4db9

2)启动该容器:docker start f1ac156d4db9

3)查看全部容器状态:docker ps -a

确保ops容器及其关联组件(例如ops_agent)均启动

4. 查看容器配置项编辑

操作步骤:

1)参考第一章查找容器ID:docker ps -a

2)查看容器配置项:docker inspect 容器ID/容器名

4.1 查看fr容器配置

1)查找名称中包含fr的容器:docker ps -a | grep fr

根据返回值确定容器ID为:0b69cd526d44

2)查看该容器配置项:docker inspect 0b69cd526d44

3)此处摘选部分常用配置项,帮助用户查看。

  • Binds中,为工程外挂目录。

冒号前面为宿主机(容器所在机器)上目录,冒号后面为容器内部文件目录

例如如需上传FineReport模板到该工程中,应当上传到/home/fr/fanruan230724160433/fr/reportlets路径下

  • 在Env中,可以查看到容器内目录、内存、端口、工程名、JVM参数等信息

4.2 查看Redis容器配置

1)查找名称中包含redis的容器:docker ps -a | grep redis

根据返回值确定容器ID为:47dadb9d756f

2)查看该容器配置项:docker inspect 47dadb9d756f


3)此处摘选部分常用配置项,帮助用户查看。

5. 执行组件命令编辑

操作步骤:

1)参考第一章查找容器ID:docker ps -a

2)进入容器:docker exec -it 容器ID/容器名 bash

3)进入之后,所有指令和常规Linux终端指令无异

5.1 查看MySQL信息

1)查找名称中包含mysql的容器:docker ps -a | grep mysql

根据返回值确定容器ID为:aa4cc27d65dd

2)进入mysql容器:docker exec -it aa4cc27d65dd bash

3)输入:env

即可返回mysql相关信息,例如下图mysql中root用户的密码为12345678QWE

5.2 查看Minio信息

1)查找名称中包含minio的容器:docker ps -a | grep minio

根据返回值确定容器ID为:d047bb256244

2)进入minio容器:docker exec -it d047bb256244 bash

3)输入:env

即可返回minio相关信息,如minio访问地址、用户名、密码等。

6. 其他编辑

6.1 查看Redis密码

1)查找名称中包含redis的容器:docker ps -a | grep redis

根据返回值确定容器ID为:47dadb9d756f

2)查看该容器配置项:docker inspect 47dadb9d756f

即可确定Redis的外挂目录为:/data/bi6/fanruan230719153907/redis/data

3)进入/data/bi6/fanruan230719153907/redis/data,打开该目录下的redis.conf文件

即可查看Redis的用户密码为admin123

6.2 拷贝目录

迁移工程时,经常需要拷贝文件夹。直接复制粘贴非常耗费时间,建议通过docker cp语句进行拷贝。

注:容器名请参考第二章获取。

  • 将容器内的/usr/local/tomcat/webapps/webroot/WEB-INF/lib文件夹拷贝到当前机器的/data目录下

docker cp 容器名:/usr/local/tomcat/webapps/webroot/WEB-INF/lib /data

  • 将当前机器上/data目录下的a.txt拷贝到容器内的/usr/local/tomcat/webapps/webroot/WEB-INF/lib下

docker cp /data/a.txt 容器名:/usr/local/tomcat/webapps/webroot/WEB-INF/lib