docker、微服务项目开发中常用的软件安装及使用

img

以下软件安装环境为linux作者用的是centos7 x64哦~~

一、docker的安装和常用命令

1、升级本地yum包

yum update
yum install -y epel-release

2、安装docker包

yum install docker-io

vi /etc/sysconfig/docker chkconfig docker on 开机自启

3、启动docker服务

service docker start 或者 systemctl start docker

4、docker重启

systemctl restart docker

5、docker查看镜像

docker images

6、docker查看已创建好的镜像

docker ps -a

7、docker查看已启动的镜像

docker ps

8、搜索镜像

docker search 所需要的镜像名称   例如搜索mysql: docker search mysql

9、下载镜像

docker pull 镜像名称

10、制作镜像

docker run -di --name=自定义名称 -p 镜像端口:你的端口 镜像名称:版本号

二、Dockerfile

什么是dockerfile?

docker是由一系列命令和参数构成的脚本,这些命令以用于基础镜像并最终创建一个最新的镜像。

优点:1.对于开发人员:可以为开发团队提供一个完全一样的开发环境

​ 2.对于测试人员:可以直接拿开发时所构建的镜像或者通过Dockerfile文件构建一个新的镜像开始工作了;

​ 3.对于运维人员:在部署时,可以实现应用的无缝移植。

我们使用脚本来创建一个jdk镜像

1.我们将jdk创建在以下目录

mkdir -p /usr/local/dockerjdk8

2.下载jdk‐8u171‐linux‐x64.tar.gz本并上传到linux服务器中的 /usr/local/dockerjdk8下

3.创建文件Dockerfile

vi Dockerfile

内容如下

#依赖镜像名称和ID
FROM centos:7
#指定镜像创建者信息
MAINTAINER LzyEdu
#切换工作目录
WORKDIR /usr
RUN mkdir /usr/local/java
#ADD 是相对路径jar,把java添加到容器中
ADD jdk-8u171-linux-x64.tar.gz /usr/local/java/
#配置java环境变量
ENV JAVA_HOME /usr/local/java/jdk1.8.0_171
ENV JRE_HOME $JAVA_HOME/jre
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH $JAVA_HOME/bin:$PATH

4.执行命令构建镜像 注意:后面的空格和 . 不要省略 如下图所示说明创建成功 创建成功后docker image即可查看常见的镜像

docker build -t='jdk1.8' .

img

5.创建容器

docker run -it --name=jdk1.8 jdk1.8 /bin/bash

三、Docker私有仓库搭建及配置

1.拉取镜像

docker pull registry

2.启动私有仓库容器

docker run -di --name=registry -p 5000:5000 registry

3.打开浏览器访问地址 http://192.168.217.130:5000/v2/_catalog 看到 {”repositories“:[]}表示私有仓库搭建成功

4.修改daemon.json

vi /etc/docker/daemon.json   添加以下内容保存并退出   此步是让docker信任所有的仓库地址
                            {"insecure-registries":["192.168.217.130:5000"]}

5.重启docker服务

systemctl restart docker

四、镜像上传至私有仓库

1.标记此镜像为仓库的私有镜像

docker tag jdk1.8 192.168.217.130:5000/jdk1.8

2.再次启动私服容器

docker start registry

3.上传标记的镜像

docker push 192.168.217.130:5000/jdk1.8

五、DockerMaven插件

微服务部署方法有两种:

1.手动部署:将源码打成jar或war包上传至虚拟机并拷贝至jdk容器

2.通过maven插件自动部署:在微服务多的情况下手动部署会变得非常麻烦,并且易出错,这次我们采用自动部署

也是企业开发中常用的方法。

如何自动部署?

1.修改宿主机的docker配置,使其可以远程访问

vi /lib/systemd/system/docker.service

其中ExecStart=后面添加-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock修改后如下

img

2.刷新配置,重启服务

systemctl daemon-reload
systemctl restart docker
docker start registry

3.这下只需在项目中的pom中增加如下配置即可

<build>
  <finalName>app</finalName>
<plugins>
  <plugin>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-maven-plugin</artifactId>
  </plugin>
<!--docker的maven插件,官网:https://github.com/spotify/docker-maven-plugin -->
<plugin>
    <groupId>com.spotify</groupId>
    <artifactId>docker-maven-plugin</artifactId>
    <version>0.4.13</version>
<configuration>
    <imageName>192.168.217.130:5000/${project.artifactId}:${project.version}               </imageName>
    <baseImage>jdk1.8</baseImage>
<entryPoint>["java", "-jar","/${project.build.finalName}.jar"]</entryPoint>
<resources>
<resource>
  <targetPath>/</targetPath>
  <directory>${project.build.directory}</directory>
  <include>${project.build.finalName}.jar</include>
</resource>
</resources>
<dockerHost>http://192.168.217.130:2375</dockerHost>
</configuration>
</plugin>
</plugins>
</build>

4.在windows命令窗下切换至项目目录输入以下命令进行打包和上传镜像

注意:要有maven环境

mvn clean package docker:build -DpushImage

看到如下图表示成功

img

5.验证下是否上传成功

浏览器访问 http://192.168.217.130:5000/v2/_catalog     就会发现多了一个镜像

6.进入宿主机查看镜像

docker images

7.启动镜像

docker run -d --name=wxpay -p 8080:8080 192.168.217.130:5000/wxpay:1.0-SNAPSHOT
                  服务要制作的名称 端口           镜像名                 版本号

有问题欢迎提出,一起来共同学习把

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值