首页 > 技术文章 > docker下安装测试环境estuntest

afangxin 2017-06-23 13:35 原文

 

 

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的端口出来,开下端口就可以了。如下图:

 

推荐阅读