有同学在docker下安装了nginx但是不知道目录在哪,可以使用命令:sudofind/-name"50x.html"因为nginx里必定会有50x.html,所以查找它,结果发现nginx的目录在docker容器里,如果操作它,就需要进入容器的shell。必须先启动容器:sudodockerstart“容器ID”然后使用下边的命令进入shell:sudodockerexec-it“容器ID”bash将主机的文件复制到容器里:sudodockercp主机目录容器ID:容器目录
运行多进程docker容器的方法如下:1、使用shell脚本依次启动kubernetes的各个组件即可。以下为start-kubernetes.sh2、然后在dockerfile中,将start-kubernetes.sh指定为docker容器默认执行的命令即可。3、需要注意的一点在于,start-kubernetes.sh脚本将作为docker容器的1号进程运行,必须始终保持运行。因为docker容器仅在1号进程运行时保持运行,换言之,docker容器将在1号进程退出后exited。由于kubernetes的各个组件都以后台进程方式执行,在脚本末尾添加了死循环,以保持start-kubernetes.sh脚本始终处于运行状态。4、supervisor是进程管理工具。这时,需要编写supervisor的配置文件kubernetes.conf:5、将kubernetes的各个组件的启动命令设为command即可。autorestart参数设为true,意味着supervisor将负责重启意外退出的组件。stdout_logfile和stderr_logfile参数则可以用于设置命令的标准输出文件和标准错误输出文件。6、然后在dockerfile中,将supervisord指定为docker容器默认执行的命令即可:7、此时,supervisord是docker容器中的1号进程,也需要始终保持运行状态。nodaemon设为true时,表示supervisor保持前台运行而非在后台运行。若supervisor在后台运行,则docker容器也会在执行supervisord命令后立即exited.
用户登录
还没有账号?立即注册
用户注册
投稿取消
文章分类: |
|
还能输入300字
上传中....