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
|
|
```
|
|
|
|
|