2021年11月

随机映射使用 -P 参数时,Docker 会随机映射一个端口到内部容器开放的网络端口示例:docker run -d -P nginx

指定端口使用 -p 参数时,可以指定要映射的端口,并且在一个指定的端口上只可以绑定一个容器。支持的格式有:IP:HostPort:ContainerPortIP:ContainerPortHostPort:ContainerPort示例:将本机 8080 端口映射到容器的 80 端口:docker run -d -p 8080:80 nginx

查看端口映射docker port CONTAINER

DOCKER 给运行中的容器添加映射端口

方法1:
获得容器IP:
docker inspect container_name | grep IPAddress

iptable转发端口
iptables -t nat -A DOCKER -p tcp --dport 8001 -j DNAT --to-destination 172.17.0.19:8000

方法2:
提交一个运行中的容器为镜像:docker commit containerid foo/live
运行镜像并添加端口:docker run -d -p 8000:80 foo/live /bin/bash

dede系统换LMXCMS 后模板风格切换不生效。经过分析调试
文件 lmxcms1.41\class\parse.class.php
构造函数

public function __construct(&$smarty){
    global $config;
    $this->config = $config;
    $this->smarty = $smarty;
    //修改smarty配置为前台
    defined('TEMDIR') || define('TEMDIR',$GLOBALS['public']['default_temdir']); //电脑模板目录
    defined('COMPILE_DIR') || define('COMPILE_DIR','index'); //电脑编译目录
    defined('COMPILE_CACHE_DIR') || define('COMPILE_CACHE_DIR','index'); //电脑编译缓存目录
    $this->smarty->template_dir = $this->config['template'].TEMDIR.'/'; //模板路径
    $this->smarty->compile_dir=$this->config['smy_compile_dir'].COMPILE_DIR.'/'; //编译文件路径
    $this->smarty->cache_dir = $this->config['smy_cache_dir'].COMPILE_CACHE_DIR.'/'; //缓存目录
}

是通过 defined('TEMDIR') 定义判断,已定义值有定义的值,否则取后台模板风格

查看首页文件 index.php
lmxcms1.41\index.php

define('LMXCMS',TRUE);
define('RUN_TYPE','index');
define('TEMDIR','default'); //电脑模板目录
define('COMPILE_DIR','index'); //电脑编译目录
define('COMPILE_CACHE_DIR','index'); //电脑编译缓存目录
require dirname(__FILE__).'/inc/config.inc.php';
require dirname(__FILE__).'/inc/run.inc.php';

第9行 define('TEMDIR','default'); //电脑模板目录
定义了默认风格导致后台切换无效。

处理方法 注释第9行代码
//define('TEMDIR','default'); //电脑模板目录
问题解决