134 lines
3.5 KiB
Markdown
134 lines
3.5 KiB
Markdown
1、下载jdk/jre
|
||
|
||
[官网下载地址](https://www.oracle.com/java/technologies/downloads/archive/) ,由于服务器上只需要java运行时环境,所以这里选择下载jre,如下图下载需要的对应的版本:
|
||
|
||
2、删除jre中无用的文件
|
||
|
||
```
|
||
#解压
|
||
tar -zxvf jre-8u202-linux-x64.tar.gz
|
||
|
||
cd jre1.8.0_202
|
||
#删除文本文件
|
||
rm -rf COPYRIGHT LICENSE README release THIRDPARTYLICENSEREADME-JAVAFX.txt THIRDPARTYLICENSEREADME.txt Welcome.html
|
||
|
||
#删除其他无用文件
|
||
rm -rf lib/plugin.jar \
|
||
lib/ext/jfxrt.jar \
|
||
bin/javaws \
|
||
lib/javaws.jar \
|
||
lib/desktop \
|
||
plugin \
|
||
lib/deploy* \
|
||
lib/*javafx* \
|
||
lib/*jfx* \
|
||
lib/amd64/libdecora_sse.so \
|
||
lib/amd64/libprism_*.so \
|
||
lib/amd64/libfxplugins.so \
|
||
lib/amd64/libglass.so \
|
||
lib/amd64/libgstreamer-lite.so \
|
||
lib/amd64/libjavafx*.so \
|
||
lib/amd64/libjfx*.so
|
||
|
||
#将解压文件重新压缩
|
||
tar -zcvf jre-8u202.tar.gz jre/
|
||
```
|
||
|
||
3、制作Dockerfile文件
|
||
|
||
```
|
||
# 使用CentOS 8作为基础镜像
|
||
FROM centos:8
|
||
|
||
# 维护者
|
||
MAINTAINER author 小蚂蚁
|
||
|
||
# 创建一个新目录来存储jdk文件
|
||
RUN mkdir /usr/local/java
|
||
|
||
# 将jdk压缩文件复制到镜像中,它将自动解压缩tar文件
|
||
ADD jre-8u202.tar.gz /usr/local/java/
|
||
|
||
# 设置时区
|
||
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
|
||
|
||
# 设置环境变量
|
||
ENV LANG=en_US.UTF-8 LANGUAGE=en_US.UTF-8
|
||
ENV JAVA_HOME /usr/local/java/jre1.8.0_202
|
||
ENV PATH $JAVA_HOME/bin:$PATH
|
||
|
||
# VOLUME 指定了临时文件目录为/tmp
|
||
# 其效果是在主机 /var/lib/docker 目录下创建了一个临时文件,并链接到容器的/tmp
|
||
VOLUME /tmp
|
||
|
||
# 工作目录
|
||
WORKDIR /opt/
|
||
```
|
||
|
||
4、构建镜像
|
||
|
||
```
|
||
docker build -t jre:8u202-centos8 .
|
||
```
|
||
|
||
5、创建容器
|
||
|
||
```
|
||
docker run -it --name docker_jre8 jre:8u202-centos8
|
||
```
|
||
|
||
```
|
||
docker run -i -t jre:8u202-centos8 /bin/bash
|
||
|
||
查看版本:
|
||
[root@3a881fab5716 opt]# java -version
|
||
java version "1.8.0_202"
|
||
Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
|
||
Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
|
||
```
|
||
|
||
6、上传
|
||
|
||
```
|
||
# 打标签
|
||
docker tag jre:8u202-centos8 192.168.10.101:8001/xiaomayi-base/jre:8u202-centos8
|
||
# 上传镜像
|
||
docker push 192.168.10.101:8001/xiaomayi-base/jre:8u202-centos8
|
||
```
|
||
|
||
|
||
特别备注:
|
||
|
||
目标服务器非 root 用户权限问题解决:
|
||
|
||
```
|
||
WARNING! Using --password via the CLI is insecure. Use --password-stdin.
|
||
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/auth": dial unix /var/run/docker.sock: connect: permission denied
|
||
permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Post "http://%2Fvar%2Frun%2Fdocker.sock/v1.24/images/create?fromImage=manage.harbor.djangoadmin.cn%2Fxiaomayi%2Fxiaomayi-elevue&tag=dev-137": dial unix /var/run/docker.sock: connect: permission denied
|
||
```
|
||
|
||
解决办法:把我们当前的用户添加到docker组中就可以了;
|
||
|
||
参考地址:https://blog.csdn.net/weixin_43321041/article/details/120399194
|
||
chmod 666 /var/run/docker.sock
|
||
|
||
或者
|
||
|
||
权限问题:
|
||
chmod 600 ~/.docker/config.json
|
||
chmod 700 ~/.docker
|
||
|
||
sudo chown $USER:$USER ~/.docker
|
||
sudo chown $USER:$USER ~/.docker/config.json
|
||
|
||
应用部署服务器需要设置docker配置:
|
||
|
||
```
|
||
vim /usr/lib/systemd/system/docker.service
|
||
--insecure-registry manage.harbor.xiaomayicloud.com --insecure-registry 192.168.10.202:8001
|
||
|
||
chmod 666 /var/run/docker.sock
|
||
```
|
||
|
||
|