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

docker下安装测试环境estuntest的更多相关文章

  1. ubuntu 16.04 docker下安装klee环境

    手动构建docker映象: 从github上获取klee源码 git clone https://github.com/klee/klee.git cd klee 使用存储库根目录中dockerfil ...

  2. selenium结合docker构建分布式测试环境

    selenium是目前web和app自动化测试的主要框架.对于web自动化测试而言,由于selenium2.0以后socker服务器由本地浏览器自己启动且直接通过浏览器原生API操作页面,故越来越多的 ...

  3. selenium 结合 docker 构建分布式测试环境 (初学者视角)

    前言:随着自动化测试越学越深,深深觉得有太多的东西需要总结. 1.记录下学习中遇到的坑,当做学习笔记.2.有前人路过看到文章中比较落后的做法,请务必一定要指教.(因为是初学者视角,很多东西只是走通而已 ...

  4. 【android开发】如何在Linux平台下安装JDK环境

    原文:http://android.eoe.cn/topic/android_sdk Linux平台JDK安装 本文主要描述如何在Linux平台下安装JDK环境.进入网页:http://www.ora ...

  5. Mac 下安装Ruby环境(转)

    步骤1 - 安装 RVM RVM 是干什么的这里就不解释了,后面你将会慢慢搞明白. $ curl -L https://get.rvm.io | bash -s stable 期间可能会问你sudo管 ...

  6. 在Windows/Ubuntu下安装OpenGL环境(GLUT/freeglut)与跨平台编译(mingw/g++)

    GLUT/freeglut 是什么? OpenGL 和它们有什么关系? OpenGL只是一个标准,它的实现一般自带在操作系统里,只要确保显卡驱动足够新就可以使用.如果需要在程序里直接使用OpenGL, ...

  7. centos下安装php环境

    centos下安装php环境 安装apache yum install httpd-devel 启动apache /etc/init.d/httpd start 安装mysql yum install ...

  8. CentOs下安装PHP环境的步骤

    前言 在CentOs环境下安装php开发环境,需要首先安装一些源文件,然后使用yum命令直接安装即可,在Fedora 20 源中已经有了PHP的源,直接可以使用以下命令安装即可: # yum inst ...

  9. 【Linux】CentOS7.0下安装JDK环境

    写在前面:此次试验是在CentOS7上面安装的,亲测成功. 所需工具:JDK1.8安装包,xftp 具体步骤: 1,首先使用xftp连接到自己的虚拟机,然后查看是否有"/usr/java/j ...

随机推荐

  1. C++学习笔记4_new和delete

    1. 默认的new和delete操作符new和delete是和c里面的mlloc和free是一样的,在堆中创建空间.堆中创建的,都要自己释放.C中void test(){ int *p=(int *) ...

  2. 使用position设置经典的网站前端结构

    能脱离文档流的设置: float:left/right position:absolute; 绝对定位 position:fixed; 固定定位 //搞清楚position的属性值的意思就容易明白 使 ...

  3. EffectiveJava-2

    一.使用类库 使用类库的好处: 无须关心方法是如何实现的,由算法专家花了大量时间设计.实现和测试这个方法,不仅保证了正确性,而且一旦有缺陷,下一个版本就会修复. 不必浪费时间为哪些与工作不太相关的问题 ...

  4. 详谈Generator

    Generator究竟有什么样的作用呢???? 他是ES6提出的一个解决异步问题方案 先看一段代码, 感受一下generator函数和普通函数的区别 function* test(){ yield 2 ...

  5. 从BIO到Netty的演变

    从BIO到Netty的演变 前言 计算机网络可以说是每个学计算机的都绕不过去的一道坎.计算机网络到底有多么重要,你走到大学图书馆的计算机部分,翻开那些什么<从零开始:黑客XXX>,< ...

  6. [UWP]为番茄钟应用设计一个平平无奇的状态按钮

    1. 为什么需要设计一个状态按钮 OnePomodoro应用里有个按钮用来控制计时器的启动/停止,本来这应该是一个包含"已启动"和"已停止"两种状态的按钮,但我 ...

  7. git上传项目到github远程库

    最近在学习使用 git 上传管理项目,依照教程,建好了一个远程库,也实现了本地库与远程库的项目同步上传,但是在试着将本地库里的项目上传到另一个新建远程库时遇到了问题,一直上传不成功,经过一番查找摸索终 ...

  8. DNS服务反向解析及过程中一些小问题解决

    在此需要了解一下,反向解析的作用是根据IP地址查找到对应的主机名(域名),在区域文件(named.rfc1912.zones)中默认已存在一些注释内容与区域信息,可不需要删除上面实验及默认区域信息,直 ...

  9. jenkins里的定时构建

    1. 定时构建语法:* * * * * (五颗星,多个时间点,中间用逗号隔开)第一个*表示分钟,取值0~59第二个*表示小时,取值0~23第三个*表示一个月的第几天,取值1~31第四个*表示第几月,取 ...

  10. mysql提示Packet for query is too large (1142 > 1024)解决方案

    注:最近mysql一直提示如下错误 Packet for query is too large (1185 > 1024). You can change this value on the s ...