centos7 安装使用Docker配置JDK环境变量启动tomcat

1.准备环境

docker官网:https://www.docker.com/get-started

IP地址hostname说明
192.168.2.4node1.bigdata.comCentOS Linux release 7.4.1708 (Core)

1.1.安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

1.2.设置阿里云镜像源

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.3.安装 Docker-CE

社区免费版

sudo yum install docker-ce

1.4.安装错误排除

# 1、查看安装过的docker:
yum list installed | grep docker
docker.x86_64                           2:1.13.1-74.git6e3bb8e.el7.centos
docker-client.x86_64                    2:1.13.1-74.git6e3bb8e.el7.centos
docker-common.x86_64                    2:1.13.1-74.git6e3bb8e.el7.centos
# 2、卸载docker:
sudo yum remove -y docker-ce.x86_64 docker-client.x86_64 docker-common.x86_64
# 3、删除容器镜像:
sudo rm -rf /var/lib/docker
# 4、 重新安装docker
sudo yum install docker-ce

1.5.启动docker

# 开机自启
sudo systemctl enable docker 
# 启动docker服务  
sudo systemctl start docker

添加docker用户组(可选)

# 1. 建立 Docker 用户组
sudo groupadd docker
# 2.添加当前用户到 docker 组
sudo usermod -aG docker $USER

镜像加速配置
Docker 镜像加速
国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:

网易:https://hub-mirror.c.163.com/
阿里云:https://<你的ID>.mirror.aliyuncs.com
七牛云加速器:https://reg-mirror.qiniu.com

当配置某一个加速器地址之后,若发现拉取不到镜像,请切换到另一个加速器地址。国内各大云服务商均提供了 Docker 镜像加速服务,建议根据运行 Docker 的云平台选择对应的镜像加速服务。
配置加速镜像:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的加速器地址"]
}
EOF

重启docker

sudo systemctl daemon-reload
sudo systemctl restart docker

2.使用docker指令

# 下载镜像:docker pull <镜像名:tag>    如:下载centos镜像
docker pull centos
docker pull sameersbn/redmine:latest
# 查看已下载镜像
docker images
# 删除容器
docker rm <容器名 or ID>
# 查看容器日志
docker logs -f <容器名 or ID>
# 查看正在运行的容器
docker ps
# 查看所有的容器,包括已经停止的。
docker ps -a 
# 删除所有容器
docker rm $(docker ps -a -q)
# 停止、启动、杀死指定容器
docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器
# 后台运行 docker run -d <Other Parameters>
docker run -d -p 127.0.0.1:33301:22 centos6-ssh
# 暴露端口: 一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
# 例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
# 例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
# 例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口
# 映射数据卷
docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址

3.GUI管理

这里推荐使用 Portainer 作为容器的 GUI 管理方案。
官方地址:https://portainer.io/install.html
安装命令:

#创建数据卷
docker volume create portainer_data
#启动容器
docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

在这里插入图片描述
访问你的 IP:9000 即可进入容器管理页面

3.1无法访问问题解决

修改将要被远程连接的客户机的docker.service 文件开通docker的远程管理:

vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375

在这里插入图片描述
重启客户机docker

systemctl daemon-reload 
systemctl restart docker

关闭客户机防火墙

#查看防火墙状态
systemctl status firewalld.service  #绿的running表示防火墙开启
#执行关闭命令
systemctl stop firewalld.service
#再次执行查看防火墙命令
systemctl status firewalld.service
#执行开机禁用防火墙自启命令
systemctl disable firewalld.service

在这里插入图片描述

4.docker配置jdk环境变量配置tomcat

4.1.docker下载centos镜像(用作配置jdk环境系统)

docker pull centos  #版本号可以自己加,默认拉取最新的

4.2.查看本地镜像

例如: REPOSITORY 镜像名称;TAG 镜像标签 (后面可用于发布到个人dockerhub上); IMAGE ID 是镜像ID;CREATED 创建时间;SIZE 大小

[root@node1 volumes]# docker images
REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
centos                centos7             b5b4d78bc90c        5 weeks ago         203MB
portainer/portainer   latest              2869fc110bf7        2 months ago        78.6MB

在这里插入图片描述

4.3.创建容器

容器是基于镜像创建的,执行镜像生成容器,方可进入容器
启动容器命令: docker run <相关参数> <镜像 ID> <初始命令>

docker run -i -t -v /root/software/:/mnt/software/ b5b4d78bc90c/bin/bash
参数解析
  -i:表示以“交互模式”运行容器
  -t:表示容器启动后会进入其命令行
  -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
  /bin/bash:一旦容器启动,需要执行的命令,当前使用 "/bin/bash", 表示启动后直 接进bash shell
  /root/software是宿主机器(Linux)上创建的一个文件夹;
  /mnt/software是centos的容器里面的目录文件
  这里挂载的意思就是 b5b4d78bc90c创建的容器访问 /mnt/software/ 目录下的文件就相当于访问 宿主机的 /root/software/下的文件,且两者文件夹里内容相同 

4.4.启动容器和进入容器

docker start [容器ID]:启动容器
docker exec -it [容器ID] /bin/bash : 进入容器
这里还是以

docker run -i -t -v /root/software/:/mnt/software/ b5b4d78bc90c /bin/bash 

命令进入容器~

5.在容器内部安装tomcat8+jdk1.8

5.1.下载安装包到挂载目录

下载 tomcat和jdk的 tar包,通过ftp工具上传到宿主服务器的/root/software/文件下,因为前面做了挂载,所以待会进入docker容器里的/mnt/software/文件夹下也是可以看到的
在这里插入图片描述
在这里插入图片描述

5.2.配置容器服务器环境变量

进入centos中的/mnt/software文件夹
解压:

tar -zxvf jdk-8u211-linux-x64.tar.gz 
tar -zxvf apache-tomcat-8.5.42.tar.gz

mv apache-tomcat-8.5.42 /opt/tomcat
mv jdk1.8.0_211/ /opt/jdk

设置java 环境变量,配置profile

vi /etc/profile
#在文件末尾加上
JAVA_HOME=/opt/jdk/
JAVA_BIN=/opt/jdk/bin
JRE_HOME=/opt/jdk/jre
CLASSPATH=/opt/jdk/jre/lib:/opt/jdk/lib:/opt/jdk/jre/lib/charsets.jar
export  JAVA_HOME  JAVA_BIN JRE_HOME  PATH  CLASSPATH
#使得配置立马有效
source /etc/profile
#配置 bashrc
vi ~/.bashrc
#在文件末尾加上
export JAVA_HOME=/opt/jdk
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#使得配置立马有效
source ~/.bashrc
#查看成功: 
java -version

启动,tomcat与在宿主机启动一样,这里就不在说明了!

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值