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.jar 9f4b8e8b79c2:/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
启动成功