CentOS下Docker安装和centos+jdk镜像构建与jar包在镜像中启动
来源:互联网 发布:对付淘宝无良卖家 编辑:程序博客网 时间:2024/05/21 20:10
1.使用安装包安装(CentOS 7下)
Docker 要求 CentOS系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。
通过 uname -r 命令查看你当前的内核版本
[root@runoob ~]# uname -r 3.10.0-327.el7.x86_64
2.安装 Docker
进入/work目录下载安装包:
[root@localhost work]#wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
将安装包放入centos的/work目录下。
[root@localhost work]# sudoyum install docker-ce-17.09.0.ce-1.el7.centos.x86_64.rpm
3.启动 Docker后台服务
[root@runoob ~]# service docker start
4.配置阿里加速docker下载镜像(可以加快pull镜像下载)
如何配置镜像加速器
针对Docker客户端版本大于1.10.0的用户
您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器:
[root@runoob ~]#sudo mkdir -p /etc/docker
[root@runoob ~]#sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://g2gnglof.mirror.aliyuncs.com"]
}
EOF
[root@runoob ~]#sudo systemctl daemon-reload
[root@runoob ~]#sudo systemctl restart docker
5. docker安装镜像centos
安装centos系统的镜像
#docker pull centos
这样不指定centos的版本,会安装最新版本centos。
6.构建Docker centos+jdk8的镜像文件
6.1准备jdk8安装包
· 创建工作目录, #mkdir /work
· 在工作目录中创建目录用于操作镜像
· #cd /work
· #mkdirdockerimage
· 准备下载jdk8的tar.gz包 http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz
· 把压缩文件解压到目录/work/dockerimage 下面
[root@localhost dockerimage]#tar -xzvf jdk-8u151-linux-x64.tar.gz
进入/work/dockerimage目录, 在当前目录下创建Dockerfile文件
#cd/work/dockerimage
#vi Dockerfile
把下面内容粘贴进去
#使用的基础镜像
FROM centos
#作者信息
MAINTAINER ZhangXianJie "xj_zh@foxmail.com"
#在镜像中创建目录
RUN mkdir -p/work/java/jdk1.8.0_151
#把下载解压的jdk我的在当前目录下,添加到镜像指定文件夹
ADD jdk1.8.0_151/work/java/jdk1.8.0_151
#添加环境变量
ENV JAVA_HOME/work/java/jdk1.8.0_151
ENV PATH$PATH:$JAVA_HOME/bin
#暴露8080端口
EXPOSE 8080
EXPOSE 80
6.2开始构建docker镜像文件
[root@localhost dockerimage]#docker build -t repos_local/centos-jdk8:0.0.1.
-t 设置tag名称,命名规则registry/image:tag
. 表示使用当前目录下的Dockerfile文件 --这个点很重要不要漏了
版本号自定义为0.0.1
等待构建完成, 不出意外的话, 执行docker images将会得到以下结果
[root@localhostdockerimage]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
repos_local/centos-jdk8 0.0.1 1fefd2abe1ce 45 seconds ago 581MB //这个是新构建的
centos latest d123f4e55e12 2 weeks ago 197MB//这个是准备好的镜像是pull下来的
repos_local/centos-jdk8镜像已经构建好了。
6.3进入镜像对话窗口
[root@localhostdockerimage]# docker run -i -t repos_local/centos-jdk8:0.0.1 /bin/bash
[root@6db41ee12fd6 /]#
退出docker
[root@6db41ee12fd6 /]# exit
exit
repos_local这个是存放目录,可以在 运行dock images 的REPOSITORY看到。
6.4准备jar文件
· 打包spring boot jar文件。
· 生成 algo-algorithms-boot-0.0.1-SNAPSHOT.jar 文件。
· 将生成的jar文件,放入linux系统的/work/目录
6.5 将主机jar包导入容器
查看docker的id(docker运行状态下才可以看到,可以在一个终端进入容器,再打开另一个终端执行一下命令)
[root@localhost dockerimage]# docker ps
CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
9f4b8e8b79c2 repos_local/centos-jdk8:0.0.1 "/bin/bash" 27seconds ago Up 27 seconds 80/tcp, 8080/tcp stupefied_nightingale
红色是ID
[root@localhost ~]#docker cp /work/algo-algorithms-boot-0.0.1-SNAPSHOT.jar9f4b8e8b79c2:/work/
在主机终端下复制jar包到容器,红色部分是容器的ID
6.6启动jar包
· 进入镜像
· [root@localhostdockerimage]# docker run -i -t repos_local/centos-jdk8:0.0.1 /bin/bash
· [root@9f4b8e8b79c2work]#
· 进入镜像系统的 /work 文件夹
· 这个时候/work目录中被包含在镜像中的jar文件已经存在了。
· cd/work
[root@9f4b8e8b79c2work]# java -jar algo-algorithms-boot-0.0.1-SNAPSHOT.jar
启动成功
- CentOS下Docker安装和centos+jdk镜像构建与jar包在镜像中启动
- Docker启动一个Centos镜像
- Docker启动一个Centos镜像
- Docker启动一个Centos镜像
- Docker启动一个Centos镜像
- CentOS平台下的Docker安装与启动
- CentOS 安装运行 mongoDB docker镜像
- Docker在CentOS镜像中搭建JDK和Tomcat
- Centos下二进制方式安装MySQL (Docker-Centos镜像环境)
- Centos 7 下安装 jdk rpm包
- 构建自己的centos+jdk7+tomcat8的docker镜像
- CentOS7安装Docker,运行Nginx镜像、Centos镜像
- CentOS7安装Docker,运行Nginx镜像、Centos镜像
- CentOS7安装Docker,运行Nginx镜像、Centos镜像
- CentOS7安装Docker,运行Nginx镜像、Centos镜像
- Docker 在Centos 6.5 X64下安装
- Docker 在Centos 6.5 X64下安装
- Docker 在 CentOS 下的安装、使用
- Java NIO原理 图文分析及代码实现
- 使用qsort函数排序各类型数据
- 曹老师讲课有感
- va_list简单介绍及初步实现printf函数
- Linux下简单又高可用seaweedfs文件存储服务器搭建及应用
- CentOS下Docker安装和centos+jdk镜像构建与jar包在镜像中启动
- leetcode---simplify-path---字符串
- 设计模式的理解
- 用Construct 2制作游戏(二)
- Vulkan规范:第九章 9.2
- java8特性:Collectors.groupingBy进行分组、排序等操作
- jQuery 中 ajax 的 complete 和 success 有什么区别
- Magento中后台form中的link类型的使用
- 两数交换