Docker容器的常用操作

Wyn Enterprise支持docker安装模式,这种模式可有效避免因环境原因导致的安装失败。
在创建并运行Wyn Enterprise的docker容器之后,可能需要查看内部日志或者做其他操作,本帖介绍这些操作涉及的docker命令。

(一)查看容器运行状态
如果Wyn的门户无法访问,可能是容器异常退出了。查看Wyn的容器是否还在运行,可执行下面的命令,列出所有容器及其状态:
sudo docker ps -a
其中,-a表示列出所有容器,包括未在运行的。

列表中的STATUS列,如果显示的是 Up xxx hours 那就是处于运行状态,否则,如果异常退出了,就会显示 Exit 信息。

(二)查看服务端口
Docker容器相当于Docker宿主机上的虚机,容器内可能有很多服务端口,比如Wyn的51980,51981,51982,51986等,但是只有通过 Docker run 命令的 -p 参数,将容器的某个端口暴露出去,其他电脑上的浏览器才能访问这个服务端口。这就是Wyn的Docker容器执行时,带有 -p 51980:51980 这个参数的原因。
如果发现端口无法访问,可执行下面的命令,查看Docker容器的端口状态:
sudo docker port wyn


(三)拷贝容器内的文件与普通部署方式不同,Docker容器中的Wyn,是没有办法直接看到应用程序和日志等文件的。比如想看Wyn的日志,必须先用专门的命令,将日志文件从容器内提取出来,保存到Docker宿主机的文件目录中。例如:
sudo docker cp wyn:/wyn/logs/portal/log20200206.txt /tmp/
这个命令可将容器内的门户组件的日志,拷贝到宿主机上的 /tmp 目录。

(四)进入容器内部
如果想进入容器内部查看或修改文件,比如修改Wyn的配置文件Wyn.conf,可执行如下命令进入容器内部:
sudo docker exec -it wyn bash
进入容器之后,就像操作普通Linux终端窗口一样,可以列目录内容,或者执行其他命令了。


如果是Windows上的docker,那么命令行有所不同,不需要前面的sudo,另外可能需要使用容器ID(而非容器名)作为参数,例如:docker exec -it 6b651234567 /bin/bash
其中的容器ID,可通过 docker ps -a 命令来获得。

需要注意的是,容器内部往往都是仅有应用程序运行所需的系统组件,可能连常用的网络配置命令、文本文件编辑器等组件都没有。如果需要,可在容器内安装这些组件,比如:
sudo apt update
sudo apt install net-tools
sudo apt install vim

执行exit命令,可退出容器。

(五)启动或停止Docker容器的执行
修改容器内的配置文件之后,可能需要重启容器内的应用程序。
如果容器内的应用程序本身没有提供启动停止的方法,比如Wyn的Docker容器就没有提供普通部署方式下的wyn服务,那么可以通过在宿主机中执行启停容器的命令,强制启停整个容器,从而让应用程序启停。
(1)停止Wyn容器的运行:
sudo docker stop 容器名
(2)启动Wyn容器的运行:
sudo docker start 容器名

其中,容器名是指使用docker run命令运行容器时,--name 的参数值。比如:
sudo docker run --name wyn ...
那么,容器名就是 --name 之后的 wyn 。
有时候,启动的容器可能异常退出,为了查看启动时出现的错误日志,可使用 -a 参数来启动容器,例如:
sudo docker -a start wyn

原文地址:https://www.cnblogs.com/edoo/p/13900567.html