博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
终极离线情况下安装docker、mysql、jdk、启动项目
阅读量:2049 次
发布时间:2019-04-28

本文共 2345 字,大约阅读时间需要 7 分钟。

终极离线情况下安装docker、mysql、jdk、启动项目

很多政府项目都处于一个网络封闭环境中,对于这样的情况,我们在使用linux安装一些软件就不能直接的通过网络获取,今天我就说下怎么在离线的情况情况下,做好这些。

一. 离线安装docker

其实离线安装docker非常简单,网络上也是有很多教程,我也来说下。

1.先在有网络的电脑上下载一个docker安装包。(这里面有很多,需要下载同一个版本的3个文件)
在这里插入图片描述
2.将文件利用filezilla工具,将安装包存入linux系统某文件夹下,进入该文件夹。

3.安装docker,将这三个包按照顺序分别安装即可,顺序的话,安装的时候会提示,如果顺序错了会提示有依赖包。

在这里插入图片描述
4.安装完成后,查看时候已启动docker服务:ps -aux | grep docker
5.如果未启动服务,systemctl start docker 启动docker服务。
6.Docker info查看docker信息。

以上就完成了docker的离线安装。

二、安装mysql镜像

在成功安装完成docker之后,使用docker安装mysql镜像就很方便了。

1.首先你得弄到一个mysql镜像文件,可以网上下载也可以在本有mysql镜像的docker内打包导出。
导出方法:Docker save -o 包名.tar 镜像名称:镜像版本号

Docker save - o mysql.tar docker.io/centos/mysql-57-centos7: latest

2.一般导出的位置是在/root目录下。也可以查找下。

Find / -name 报名.tarFind/ -name mysql.tar

3.将包拷贝到另一台无网络服务器上(/root目录下),进入目录,利用docker加载镜像。

Docker load -i 包名.tar   Docker load -i mysql.tar

4.查看镜像docker images

5.启动镜像加载为容器(针对mysql镜像)

sudo docker run --name pwc-mysql -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d 镜像名称

6.启动容器 docker start 容器id

ok这就完成了离线安装mysql镜像了。

三、安装jdk镜像

安装jdk镜像跟安装mysql镜像,步骤一样,只是启动镜像有点差别。

将镜像打成容器:

docker  run -d -p 9999:8080 -it 镜像名称:版本号 /bin/bash

四、启动项目

1.第一步 docker内部启动的是一个个的镜像文件,所以我们首先得把项目jar做成镜像。

  • a.构建镜像语句 docker build -t <镜像名> -f <Dockerfile路径>

    这条语句是用来构建自己镜像的,启动这条语句,docker引擎会通过你定义的Dockerfile路径去找到你的Dockerfile文件。

  • b.编写Dockerfile

  • FROM hub.c.163.com/housan993/centos7_jdk8

  • MAINTAINER YYL

  • ADD mul_user_management.jar /opt

  • WORKDIR /opt EXPOSE 9500

  • CMD java -Duser.timezone=GMT+8 -jar mul_user_management.jar --server.port=9500

  • FROM 是Dockerfile首条语句且不可缺少的语句,FROM是用来定义一个基础镜像,FROM <image>或者 FROM <image>:<tag>

  • 基础镜像可以是已经存在任何一个镜像,可以这么理解,FROM会将你定义的基础镜像拿过来,把它当成模子,在其基础上进行制定,所以基础镜像是不可缺少的。

  • MAINTAINER

    格式为MAINTAINER user_name user_email 或者 2.MAINTAINER name,指定维护者信息

  • ADD ADD <src> <dest> 将指定的src拷贝到容器的dest去,src可以是Dockerfile所在的目录的一个相对路径;可以是URL,也可以是tar(自动解压)

  • WORKDIR:指定当前工作目录,相当于 cd WORKDIR /path/to/workdir

CMD支持三种格式

CMD [“executable”,“param1”,“param2”] 使用 exec 执行,推荐方式;
CMD command param1 param2 在 /bin/bash 中执行,提供给需要交互的应用;
CMD [“param1”,“param2”] 提供给 ENTRYPOINT 的默认参数;

指定启动容器时执行的命令,每个 Dockerfile 只能有一条 CMD 命令。如果指定了多条命令,只有最后一条会被执行。如果用户启动容器时候指定了运行的命令,则会覆盖掉 CMD 指定的命令。

以上就是准备一个简单的Dockerfile。

然后使用docker docker build -t <镜像名> -f <Dockerfile路径> 就行了,注意了要是
docker build -t <镜像名> . 没有指定Dockerfile文件的位置,加了一个‘,’,就是默认为Dockerfile为当前文件路径。

完成镜像的构建之后,启动镜像就行了。

docker run -d --镜像名称 文件 -p 定义端口号0000:0000

ps:一些基础的docker命令

转载地址:http://hnhof.baihongyu.com/

你可能感兴趣的文章
Java编程思想(三)—— 操作符
查看>>
梦飞 —— 述:我只是一个普通农民家的孩子,但我有一个梦想
查看>>
图解HTTP(二)—— 简单的HTTP协议
查看>>
程序员的数学(四)—— 数学归纳法,如何征服无穷数列
查看>>
不是技术人员也能看懂云计算、大数据、人工智能
查看>>
图解HTTP(三)—— HTTP报文内的HTTP信息
查看>>
图解HTTP(四)—— 返回结果的HTTP状态码
查看>>
JavaWeb高级编程(五)—— 使用会话来维持HTTP状态
查看>>
Intellij IDEA使用(十五)—— 如何在IDEA中一个Tomcat启动多个项目和多个Tomcat启动多个项目
查看>>
图解HTTP(五)—— 与HTTP协作的Web服务器
查看>>
程序员的数学(五)—— 排列组合,解决计数问题的方法
查看>>
前后端分离实践(四)—— 使用vue-cli搭建前端展示层并用mock模拟测试数据
查看>>
前后端分离实践(六)—— 前端与后端在生产环境中的分离部署
查看>>
启航 —— 记 —— 第二次自考的反思:自考与自我改造的困境
查看>>
数据结构与算法(三)——线性表
查看>>
Java8学习笔记(一)—— 函数式编程的四个基本接口
查看>>
Java8学习笔记(二)—— Lambda表达式
查看>>
Java8学习笔记(三)—— Optional类的使用
查看>>
Java8学习笔记(四) —— Stream流式编程
查看>>
Java8学习笔记(五)—— 方法引用(::双冒号操作符)
查看>>