docker下安装测试环境estuntest
1.基础知识:
docker pull centos //从云上下载centos系统到本地服务器
docker images //查看镜像
docker rmi 镜像id //删除镜像
docker ps -a //查看容器
docker inspect 容器id //查看容器的详细信息
docker rm 容器id //删除容器
由镜像 生成 容器:
docker run -it 镜像名 /bin/bash
docker run -it -v /data/software/:/data/software 镜像 /bin/bash
docker run -d -p 18080:9080 --name test01 centos-fx01 /opt/tomcat8-9080/bin/startup.sh
http://外网(公网)ip:18080
http://内网ip:9080
想要退出但不销毁,可以CTRL+p+q
运行中的容器再次进入的方法:
docker attach 71d5ec72a193
docker exec -it CONTAINER_ID /bin/bash 进入指定容器
用exec 的话,则用exit退出后,不会被销毁。
由容器 生成 镜像
docker commit 容器id docker.io/centos-fx01
2.实战
service docker start
service docker stop
docker start 容器id
docker stop 容器id
docker run -it -p 19090:9090 -p 19091:9091 --name estuntest -v /data:/data -v /opt:/opt -v /data_fangxin:/data_fangxin centos-estuntest /bin/bash
只拷贝目录结构
cd /path/to/source && find . -type d | sed 's/^./\/path\/to\/target/' | xargs mkdir
cd /data2 && find . -type d | sed 's/^./\/data3/' | xargs mkdir
tar -zxvf jdk-8u121-linux-x64.tar.gz -C /opt_soft/
tar -zxvf apache-tomcat-8.5.5.tar.gz -C /opt_estuntest/
mv apache-tomcat-8.5.5/ estun-platform-web/
vi /etc/profile
export JAVA_HOME=/opt_soft/jdk1.8.0_121
export JAVA_BIN=/opt_soft/jdk1.8.0_121/bin
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME JAVA_BIN PATH CLASSPATH
:wq
source /etc/profile
cd /opt_estuntest/estun-platform-web
rm -rf ./conf
rm -rf ./lib
rm -rf ./webapps
rm -rf ./ROOT
cp -R /opt/estun-platform-web/conf ./
cp -R /opt/estun-platform-web/lib ./
cp -R /opt/estun-platform-web/webapps ./
cp -R /opt/estun-platform-web/ROOT ./
vi server.xml
<Connector port="9090"
protocol="org.apache.coyote.http11.Http11Nio2Protocol"
connectionTimeout="20000"
maxConnections="1000"
redirectPort="7040"
enableLookups="false"
acceptCount="500"
maxPostSize="10485760"
compression="on"
disableUploadTimeout="true"
compressionMinSize="2048"
acceptorThreadCount="2"
/>
<Context path="" docBase="/opt_estuntest/estun-platform-web/ROOT" reloadable="true" />
<Context debug="0" docBase="/data/estun/uploadFile" path="/estun-platform-web/uploadFile" reloadable="true"/>
\cp -f /opt_estuntest/estun-platform-web/webapps/* /opt_estuntest/estun-platform-web/ROOT/WEB-INF/classes/
\cp -f /opt_estuntest/estun-platform-sys/webapps/* /opt_estuntest/estun-platform-sys/ROOT/WEB-INF/classes/
(说明:\cp 相当于cp。如果输入的是cp,则相当于 cp -i ,这时已经存在的文件会弹出是否替换的提示框。)
可以在根目录/ 下写个自动脚本:
[root@7395d810f760 /]# cat web.sh
#!/bin/bash
echo "start!"
sleep 1
source /etc/profile
sleep 1
kill -9 `/usr/sbin/lsof -n -P -t -i :9090`
sleep 1
cd /opt_estuntest/estun-platform-web
sleep 1
rm -rf ./ROOT
sleep 1
cp -R /opt/estun-platform-web/ROOT ./
sleep 1
\cp -f /opt_estuntest/estun-platform-web/webapps/* /opt_estuntest/estun-platform-web/ROOT/WEB-INF/classes/
sleep 1
/opt_estuntest/estun-platform-web/bin/startup.sh
sleep 1
echo "ok"
安装后启动tomcat:
http://外网ip:19090
http://外网ip:19091
其中遇到一个问题:输入端口号19090后访问不了网址,但是再linux下用curl 可以访问到网站。
解决办法:这是因为阿里云上没有开通19090的端口出来,开下端口就可以了。如下图: