1.格式化阿里云服务器
2.前期准备工作
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html(jdk压缩包下载地址);
压缩包名:jdk-8u221-linux-x64.tar.gz
Xftp传输软件,Xsell控制软件。
3.Xsell部署Linux系统
3.1 安装jdk
在usr目录下创建文件夹java --- mkdir /usr/java
使用Xftp将包导入该java文件夹。进入该目录 cd /usr/java
解压文件 tar -zxvf jdk-8u221-linux-x64.tar.gz
进入到root目录下/etc目录编辑profile文件,在文件最后添加java环境变量的配置;
······························
vim profile #进入文件编辑
i #进入编辑模式
esc #退出编辑状态
:wq #保存并退出
································
3.2 配置jdk
export JAVA_HOME=usr/java/jdk1.8.0_211
export CLASSPATH=$JAVA_HOME/lib
export PATH=$JAVA_HOME/bIn:$PATH
3.3 测试jdk安装
source /etc/profile #让profile文件立即生效
使用javac指令和java -version指令测试是否安装成功!
4. docker安装
#下载Docker依赖的环境,想安装Docker,需要先将依赖的环境全部下载,就像Maven依赖JDK一样
yum -y install yum-utils device-mapper-persistent-data lvm2
#指定Docker镜像源,默认下载Docker会去国外服务器下载,速度较慢,我们可以设置为阿里云镜像源,速度更快
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#安装Docker
yum makecache fast
yum install docker-ce
#安装过程中需输入两次 y
# 启动Docker服务
systemctl start docker
# 设置开机自动启动
systemctl enable docker
#查看Docker版本
docker version
#显示如下即成功
5.docker部署mysql
#拉取镜像
docker pull mysql:5.7
#启动运行mysql
docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL\_ROOT\_PASSWORD=123456 \
-d mysql:5.7
---------------------------------------------
—name指定容器名字
-v目录挂载
-p指定端口映射
-e设置mysql参数
-d后台运行 挂载到外部 外部一修改 里面也会修改
-v 外部地址 : 内部地址(不存在文件夹的话会自动创建)
----------------------------------------------
#进入mysql容器
docker exec -it mysql /bin/bash
#进入mysql
mysql -u root -p123456
#设置mysql随docker启动而启动
docker update --restart=always mysql
#连接测试是否成功,记得开放云服务器安全组端口!!
6.docker部署tomcat
#拉取tomcat镜像
docker pull tomcat:7.0
#安装运行tomcat
docker run -di --name=my_tomcat -p 8888:8080 -v /data/tomcat/webapps:/usr/local/tomcat/webapps -v /data/tomcat/logs/:/usr/local/tomcat/logs tomcat:7.0
-------------------------
-di 后台守护方式运行
--name 设置容器名(不设置的话会随机生成)
-v 外部地址挂再容器内部地址(绝对路径),文件夹自动生成。
--------------------------
#进入tomcat容器内部
docker exec -it mysql /bin/bash
#更改内部文件
#进入到usr/local/tomcat文件夹下
mv usr/local/tomcat/webapps.best/* usr/local/tomcat/webapps
#退出容器
exit
7.常用命令
cd #进入文件
rm -rf 文件夹名 #删除文件
mv 文件1 文件2 移动文件、重命名
exit 退出容器
docker search 某个镜像的名称 # 搜索镜像,例如:docker search mysql
docker start 容器名 #启动容器
docker version # 显示Docker版本信息
docker info # 显示Docker系统信息,包括镜像数、容器数、正在运行的镜像数、暂停的镜像数、停止的镜像数等
docker --help # 显示docker指令的信息
docker 指令 --help # 显示具体某一个docker指令的可选项
docker images # 显示你本地主机上(买的服务器或安装的Linux虚拟机)所有下载的镜像信息
docker pull mysql # 下载镜像(这里如果不指定TAG,默认就是lastest最新版)
docker pull mysql:5.7 #指定版本下载
docker rmi -f 镜像id # 删除单个镜像
docker rmi -f 镜像名:tag 镜像名:tag # 删除多个
docker rmi -f $(docker images -qa) # 删除全部
新建容器并启动(docker run)
docker run [OPTIONS] 镜像名 [COMMAND][ARGS...]
# 常用可选参数以及解释
--name # 给容器取一个名字
--rm # 容器退出后,自动删除容器
-i # 以交互模式运行容器,通常与-t同时使用,即-it
-t # 分配一个虚拟的终端,在docker中启动bash就会有提示符,通常与-i通知使用,即-it
-d # 在后台运行容器。等同于进入容器后按Ctrl+P+Q。所以可以docker attach回去。在后台运行的容器,只能通过网络和它交互。
-p # 设置端口转发。-p:hostport:containerport
使用centos进行交互模式 -it 启动容器,在容器内执行/bin/bash命令;末尾加此命令
使用centos进行守护模式 -id 启动容器,则不可加/bin/bash;
列出所有运行的容器(docker ps)
docker ps [OPTIONS] #列出所有运行的容器
-a # 列出所有正在运行的容器 + 历史运行过的容器(docker ps -a)
-l # 列出最近创建的一个容器以及该容器的信息
-n int # 列出最近n个创建的容器以及容器的信息
-q # 列出容器的编号
-s # 列出容器的大小
容器退出(exit、Ctrl+P+Q)
exit # 容器停止并退出
Ctrl + P + Q # 容器不停止退出,也就是进入后台模式,等同于docker run的参数 -d
启动 / 停止容器(docker start、docker restart、docker stop、docker kill)
docker start (容器id or 容器名) # 启动容器
docker restart(容器id or 容器名) # 重启容器
docker stop (容器id or 容器名) # 停止容器
docker kill(容器id or 容器名) # 强制停止容器
删除容器(docker rm)
docker rm 容器id # 删除指定容器
docker rm -f $(docker ps -aq) # 删除所有容器(常用)
docker ps -aq | xargs docker -rm # 删除所有容器(不常用)
日志命令
docker logs 容器id
-t # 显示时间戳(docker logs -t)
-f # 打印最新的日志
--tail 数字 # 数字---显示多少条
进入正在运行的容器
docker exec 容器id
-d # 让命令在后台执行
-e # 设置环境变量
-it # 使用交互模式进入
-u -w # 分别设置命令运行的用户和work directory。也就是如果要改变用户或者工作目录,就是用-u或-w
例 docker exec -it mysql /bin/bash
其他命令
docker cp 容器id:容器内路径 目的主机路径 #从容器内拷贝文件到主机上(docker cp)
例如:docker cp f261f17bb39d:/home/f1 /home
docker inspect 容器id #查看容器 / 镜像的元数据
docker top 容器id #查看容器中运行的进程信息
具体命令参考:https://www.kuangstudy.com/bbs/1349026712301674497