docker的安装使用以及构建java镜像

     最近公司推出docker,博主很难受,毕竟是个新东西,之前没接触过,而且这个东西windows10以下还安装不了。各种各种滴坑博主简直汤了个遍,为了让自己记得牢,更让更多开发者们快速进行docker化,博主想以自己所经历的过程总结一下,方便开发,闲言少叙,这就开始。


  一、准备工作

1.系统信息以及环境

   安装docker之前,首先要确定自己的配置够不够,因为docker比较占内存,类似于虚拟机但有别于虚拟机。推荐4核8g。另外,重中之重,要确定你的系统。如果你是Linux系统,恭喜,轻松安装docker无压力,一路next就好了。那么我们大多数估计都是windows吧,windows就要注意,必须必须是win10专业版,否则不能安装docker。等等别着急,因为其他系统虽然不能,但是有两个解决办法,一个是破解(博主不推荐,花很多钱买的正版系统说破解就破解,那能行吗),二是安装docker toolbox。但是win10专业版的,请注意,千万别两个一起安装。

2.docker、docker toolbox安装

  安装的话没有什么复杂的地方,大家可以参考https://blog.csdn.net/weixin_42687598/article/details/81098182 ,这里感谢这位博主提供的toolbox安装方法,以及问题解决方法。其实就是一路next就好。

3.配置镜像加速

  因为docker Hub本身为外国网站,响应时间长,镜像拉取得半天,所以最好使用国内镜像,推荐大家使用阿里云镜像服务,

https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors,内附docker toolbox,docker配置镜像加速的流程。

4.学习docker,Linux命令

  这个不用博主多说,Linux命令百度查查,或者现用现查都行,因为进入docker镜像linux居多。docker命令,主要有登陆:

docker login,拉镜像 docker pull  查看镜像 docker images ,查看容器 docker ps -a 创建并运行容器 docker run 等等。现用现查也ok。

二、自己搭建 java docker镜像

1.拉取镜像

  博主有台式,笔记本两个电脑,都有docker,但是一个是 toolbox,一个是docker window 。两者操作基本一致,只是toolbox的坑包含了docker window的坑。所以再这里 博主以docker toolbox为例

拉取镜像(centos 镜像):

docker pull daocloud.io/centos:latest

  

慢慢等读条(想起了游戏读条)就好了。

拉下来以后,大家可以使用命令查看镜像

docker images 

这就是刚刚下的镜像(centos7)

接下来,我们实例化(搞)一个容器出来:

docker run -dit --privileged --name=centos7 daocloud.io/centos:latest /usr/sbin/init

注意:name 后随意起名的,也就是容器名,daocloud.io/centos:latest 这个也可以写imageid,也就是镜像id,这里写的是镜像名。

toolbox的开发者们,如果和博主报一样的错的话,就这么搞。

docker-machine.exe ssh default

sudo mkdir /sys/fs/cgroup/systemd

sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

 

这样就没问题了。

重新弄个新容器出来,然后看下现在容器的运行状态(重新实例化容器时,name千万不要重复,如果报错了看看是不是重名了)

docker ps

docker ps -a

上面是查看已运行的容器,下面是查看全部容器。

这样,容器就代表运行了。

接下来:进入容器

docker exec -it centos /bin/bash

注意:-it 后面是容器名,也可以使用容器id

2.搭建 java环境

首先,我们需要安装个wget,这个是下载压缩包等等的必备命令包:

yum install -y wget

等待安装完即可。接下来,下载jdk1.8

wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" https://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz

下好之后,命令:ls,就可看到安装包啦

解压缩:

tar -zxvf jdk-8u131-linux-x64.tar.gz

接下来就是常见的弄环境变量:

vi /etc/profile

点进去后会出现一大堆东西,别慌,按i就可以编辑

JAVA_HOME=/jdk1.8.0_131
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=$JAVA_HOME$/jre/lib/ext:$JAVA_HOME/lib/tools.jar
export PATH JAVA_HOME CLASSPATH

JAVAHOME这个你得看你java在哪。

完事后按esc,然后 :wq 保存并退出。

然后执行

source /etc/profile

我们使用java -version查看是否配置成功

出现这个,恭喜你成功了第一步。

3.搭建mysql

详细请见https://blog.csdn.net/jason19905/article/details/81366202,感谢这个博主提供的mysql安装教程。大家要注意一点:可以按照这位博主大大的安装,但我们暂时先不要去提交。

4.搭建tomcat

到了咱们tomcat的时候啦,其实跟安装jdk一样。

使用wget下载tomcat包

 wget http://mirror.bit.edu.cn/apache/tomcat/tomcat-8/v8.5.40/bin/apache-tomcat-8.5.40.tar.gz

然后解压:

tar -zxvf apache-tomcat-8.5.40.tar.gz

然后就可以启动了哦,我们cd 命令切换到tomcat 的 bin 下 使用 ./startup.sh即可。

至此,java基本需要的东西就全部弄完啦。如果有war包就往tomcat仍就好啦。

 

5.提交容器制作镜像

  要知道,容器弄好了后,它可不是永久存在的哦,需要持久化,也就是作成镜像。

首先退出容器,ctrl+q+p

然后使用

docker ps

看看正在运行的这个容器

就是这个,接下来,我们就要commit 喽

docker commit -a"zjl" -m"testJava" centos zjl/test

等等等。。。。成功后我们使用

docker images 

查看下我们的镜像

这样一个镜像就做好啦。当然,大家可以使用阿里云镜像服务,把镜像提交到云去。具体操作阿里云镜像服务有操作说明的哦,在此就不做过多赘述。

6.启动镜像,映射端口

$ docker run --privileged -ti -p 8080:8080 -p3306:3306   --name javaTest zjl/test  /usr/sbin/init

说明:-p 主机端口:容器端口    zjl/test是镜像的名称,当名字很长也可以使用镜像id哦,image id这个。

启动后大家会发现卡住了,没错,卡住了。但是博主还没查到解决方式,博主解决方式就是关掉窗口,再启动。

你就会发现已经启动成功啦。然后我们,进入容器,启动tomcat。进入容器,启动tomcat就不再说了。现在,docker windows的开发者们就可以localhost访问docker的tomcat啦。

但是,docker toolbox的开发者们,你们需要再映射一下端口哦。

双击这个图标。

右键,点击设置

选择网络

点击端口转发

根据自己启动容器的端口进行配置哦,也就是 -p 的时候 主机端口:容器端口,这里配置主机端口。

这样就完成了哦。

 

最后最后最后。。。。。。。。。博主给大家发福利喽,博主自己配置了个 java镜像,jdk1.8+tomcat8+mysql5.7+redis4.0.1

现在是完全公开的哦。下面附上拉取代码:

$ sudo docker pull registry.cn-hangzhou.aliyuncs.com/textforxiaolin/java_test:v1.2

希望可以让大家少走弯路,同时也希望大家支持博主。谢谢大家。

如果觉得博主不错可以请博主喝瓶水哦。

  • 5
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值