阿里云服务器购买

1.打开阿里云主页
https://www.aliyun.com/ 2.找到试用中心,选择云服务器ECS
按照提示,通过支付宝注册登录,完成个人认证
选购个人试用1个月
3.提交订单,操作系统选择centos7.7,其他默认
注意记住自动分配的可用区
4.购买完成后进入云服务管理控制台
https://ecs.console.aliyun.com/
在左侧“网络与安全”找到“安全组”,创建安全组,允许端口3306(mysql),8080(http)…其他默认
5.在左侧“实例与镜像”找到“实例”,在最上方选择购买时配置的可用区,如图所示
xss_platform docker搭建 xshell连接docker_tomcat
可以看到可用实例,记住公网IP地址
选择可用实例,点击“重置实例密码”,会提示重启,重启即可。

xshell安装

参考链接:
1.打开Keygen文件,点击Fix Host + Register,点击Generate,生成注册码,复制
2.安装Xmanager_PowerSuite,粘贴注册码,注意将其安装到非系统盘

xshell连接

1.打开xshell,点击“文件”->“新建”,修改主机为公网IP地址,名称随便

xss_platform docker搭建 xshell连接docker_tomcat_02


2.点击左侧“用户身份验证”,输入用户名“root”和重置的实例密码

xss_platform docker搭建 xshell连接docker_docker_03


点击“确定”,会弹出一个“SSH安全警告”,点击“接受并保存”。

此时已建立连接

3.双击会话窗口中服务器即可打开连接

xss_platform docker搭建 xshell连接docker_docker_04


可以输入ls /命令测试

服务器环境安装

1.宝塔面板 傻瓜式安装

打开云服务器管理控制台

在安全组中开放以下端口及8888端口:

xss_platform docker搭建 xshell连接docker_Docker_05


然后重启服务器

打开宝塔面板安装页面https://www.bt.cn/btcode.html

复制centos安装脚本到xshell命令行,执行安装

yum install -y wget && wget -O install.sh http://download.bt.cn/install/install_6.0.sh && sh install.sh

完成后看到宝塔面板的外网面板网址、用户名和密码

xss_platform docker搭建 xshell连接docker_Docker_06


打开外网面板地址,输入用户名和密码登录

点击左侧“软件商店”,即可一键安装所需环境,安装完会“保存”在服务器www目录下

在宝塔面板左侧,点击“安全”,设置防火墙,开启端口

2.原生命令安装

需要先安装xftp用来上传文件
1.rpm(jdk)
在oracle下载java rpm安装包jdk-8uxxx-linux-x64.rpm
https://www.oracle.com/cn/java/technologies/javase/javase-jdk8-downloads.html 将安装包通过xftp上传到服务器

java -version # 检查是否已有java环境
rpm -qa|grep jdk #检查jdk版本信息
rpm -e --nodeps XXX #卸载,XXX:上面一句查到的结果

卸载成功后,安装我们拷贝过来的jdk

rpm -ivh jdk-8uxx-linux-x64.rpm

安装成功后,配置环境变量

vim /etc/profile

在最后输入一行

JAVA_HOME=/usr/java/jdk1.8.0_xxx-amd64
CLASSPATH=%JAVA_HOME%/lib
PATH=/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:$JAVA_HOME/bin:$PATH:/root/bin
export PATH CLASSPATH JAVA_HOME

执行source /etc/profile使得配置生效

2.解压缩(tomcat)
跟windows一样解压,只是运行sh可执行文件来开启或关闭

#进入到tomcat/bin目录后
startup.sh #开启
shutdown.sh #关闭

3.yum在线安装(Docker)
官方参考文档(非常详细):https://docs.docker.com/engine/install/centos/
(可以不使用超管权限来安装,即不使用sudo命令)

# 先卸载原有Docker
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
# 安装基本环境
sudo yum install -y yum-utils
# 配置远程镜像仓库
sudo yum-config-manager \
    --add-repo \
    https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 阿里云镜像
    # 不推荐使用官方镜像 https://download.docker.com/linux/centos/docker-ce.repo
# 更新相关软件包索引
yum makecache fast
# 安装Docker引擎
yum -y install docker-ce docker-ce-cli containerd.io
# 启动Docker
systemctl start docker
# 测试是否安装成功
docker version
docker run hello-world
docker images # 查看下载的hello-world镜像已存在

阿里云镜像加速

登录阿里云官网,打开阿里云控制台,在“产品与服务”-“弹性计算”-“容器镜像服务”

xss_platform docker搭建 xshell连接docker_tomcat_07


找到镜像加速器,选择centos,复制命令

xss_platform docker搭建 xshell连接docker_Docker_08

服务器环境卸载

1.卸载docker

#  卸载依赖
sudo yum remove docker-ce docker-ce-cli containerd.io 
# 删除资源
sudo rm -rf /var/lib/docker # /var/lib/docker是Docker默认安装地址
sudo rm -rf /var/lib/containerd

Docker容器Tomcat

systemctl start docker # 启动Docker服务
docker pull tomcat:9.0 # 下载指定版本的tomcat镜像
docker run -d -it --name tomcat01 -p 3345:8080 tomcat:9.0 #创建并启动tomcat容器,设置后台运行,命名为tomcat01,设置外网端口3345

在阿里云服务器安全组中开启3345端口
在浏览器输入[阿里云服务器外网IP地址]:3345,第一次访问时404
原因:webapp目录下为空
解决:

docker exec -it tomcat01 bash # 进入tomcat容器
ls # 可以看到webapps和webapps.dist文件夹
cd webapps 
ls # webapps是空的
cd .. # 回到tomcat目录
cp -r webapps.dist/. webapps # 将webapps.dist目录下的文件全部复制到webapps下

重新在浏览器输入[阿里云服务器外网IP地址]:3345,可以成功访问tomcat

Docker容器MySQL

docker pull mysql:8.0
docker run -d --name myMysql -v /data/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3346:3306 mysql:8.0 
# -d 后台运行 --name 命名 -v 主机目录:容器目录 挂载 -e 环境配置 -p 主机端口(用来外网访问):容器端口
docker exec -t -i myMysql /bin/bash # 进入myMysql容器
mysql -uroot -p123456
use mysql;
select host,user,plugin,authentication_string from user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';# 将所有IP使用root用户名访问myMysql时的密码改为123456
flush privileges;

修改root用户前,user表如下:

xss_platform docker搭建 xshell连接docker_Docker_09


修改后:

xss_platform docker搭建 xshell连接docker_tomcat_10


在sqlyog中连接测试:

xss_platform docker搭建 xshell连接docker_tomcat_11

构建Tomcat镜像

1.编写Dockerfile vim Dockerfile

FROM centos
MAINTAINER xxx<xxx@163.com>

COPY readme.txt /usr/local/readme.txt # 复制文件

ADD jdk-8u291-linux-x64.tar.gz /usr/local/ # JDK
ADD apache-tomcat-9.0.50.tar.gz /usr/local/ # Tomcat

RUN yum -y install vim # 使得构建的镜像具有vim命令
RUN yum -y install net-tools # ifconfig

ENV MYPATH /usr/local 
WORKDIR $MYPATH # 设置容器工作目录(pwd)

# 环境变量配置
ENV JAVA_HOME /usr/local/jdk1.8.0_291
ENV CLASSPATH $JAVA_HOME/lib/dt.jar;$JAVA_HOME/lib/tools.jar

ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.50
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.50

ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080 # 暴露端口

CMD /usr/local/apache-tomcat-9.0.50/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.50/logs/catalina.out #创建运行容器时开启tomcat服务并输出日志

2.构建镜像

docker build -t tomcattest . # 镜像名为tomcattest 因为docker file命名为Dockerfile了,所以无需指定,否则 -f dockerfile名 
#注意最后 . 不能落下

3.创建运行容器

docker run -it --name tomcat02 -p 3345:8080 -v /home/prin/build/tomcat/test:/usr/local/apache-tomcat-9.0.50/webapps/test tomcattest # 将webapps/test挂载 (仅供测试,实际为空)

tomcat服务运行成功,Ctrl+P+Q退出并不关闭容器
4.回到主机,执行curl localhost:3345输出html网页代码即可
在浏览器中输入“[外网IP]:3345”即可访问。