centos7 安裝使用Docker配置JDK環境變量啓動tomcat

1.準備環境

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

IP地址 hostname 說明
192.168.2.4 node1.bigdata.com CentOS 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與在宿主機啓動一樣,這裏就不在說明了!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章