准备工作 JDK1.8、Docker1.12.1、CentOS7.0
1.CentOS7.0下JDK1.8的安装
(1)到Oracle官网下载好 jdk-8u181-linux-x64.tar.gz 备用
(2)卸载系统自带的java
java -version # 如果有结果出来,则说明自带了java rpm -qa|grep java # 查询出已经安装的java yum -y remove [上面查出来的东西,多个用空格分隔] (3)安装jdk
cd /usr #进入到要安装jdk的目录 mkdir java #创建java目录,将jdk-8u181-linux-x64.tar.gz上传到此目录 tar -zxvf jdk-8u181-linux-x64.tar.gz #将jdk压缩包解压安装 (4)配置环境变量
vim /etc/profile #打开文件并编辑 找到: export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL 这一行,并在其下面一行添加如下内容:
设置java环境变量
export JAVA_HOME=/usr/java/jdk1.8.0_181 # 根据情况修改 export PATH=PATH export CLASSPATH=.:
JAVA_HOME/lib/tools.jar 使环境变量生效
source /etc/profile 测试安装
java -version 2.Docker的安装
(1) 查看内核版本(Docker需要64位版本,同时内核版本在3.10以上,如果版本低于3.10,需要升级内核)
uname -r (2) 更新yum包:
yum update (3) 添加yum仓库:
yum install docker-engine (5) 启动Docker
service docker start (6)配置docker远程访问
执行命令编辑文件
vim /usr/lib/systemd/system/docker.service 找到这一行
ExecStart=/usr/bin/dockerd 改为
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock 修改完成后保存并重启Docker
service docker restart 测试访问 http://125.35.86.214:2375/version 如果有返回数据则配置成功。
(7)使用Docker国内镜像(为Docker镜像下载提速,非必须)
curl -sSL get.daocloud.io/daotools/se… | sh -s fe8a7d6e.m.daocloud.io 3.Docker Compose的安装
(1)下载docker-compose ,并放到/usr/local/bin/
github.com/docker/comp…uname -s
-uname -m
> /usr/local/bin/docker-compose (2)为Docker Compose脚本添加执行权限
chmod +x /usr/local/bin/docker-compose (3)安装完成,测试
docker-compose --version 结果显示:
docker-compose version 1.8.0, build f3628c7 说明Docker Compose已经安装完成了。
4.Docker使用Maven插件构建并上传镜像
(1)新建Dockerfile文件
在项目的/src/main下新增文件夹docker,并在文件夹下创建Dockerfile文件,文件内容如下
(2)修改pom.xml文件增加如下plugin
imageName:镜像名称
dockerDirectory:Dockerfile文件所在目录
dockerHost:docker所在宿主机ip 2375为docker开启的远程访问端口
其他配置采取默认即可
每一个微服务项目都要进行配置。
(3)构建镜像并上传至docker
使用maven运行如下命令
clean package docker:build -DskipTests 上传成功后,在服务器输入
docker images 可以看到所有的docker镜像啦。
5.使用Docker Compose进行服务编排
(1)在服务器任意目录,新建文件docker-compose.yml
docker-compose -f docker-compose.yml up -d 停止Docker Compose命令
docker-compose -f docker-compose.yml down 欢迎工作一到五年的Java工程师朋友们加入Java架构师:697558955
群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!