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

docker、微服务项目开发中常用的软件安装及使用_第1张图片

以下软件安装环境为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' .

docker、微服务项目开发中常用的软件安装及使用_第2张图片

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修改后如下

docker、微服务项目开发中常用的软件安装及使用_第3张图片

2.刷新配置,重启服务

systemctl daemon-reload
systemctl restart docker
docker start registry

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


  app

  
    org.springframework.boot
    spring-boot-maven-plugin
  


    com.spotify
    docker-maven-plugin
    0.4.13

    192.168.217.130:5000/${project.artifactId}:${project.version}               
    jdk1.8
["java", "-jar","/${project.build.finalName}.jar"]


  /
  ${project.build.directory}
  ${project.build.finalName}.jar


http://192.168.217.130:2375




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

注意:要有maven环境

mvn clean package docker:build -DpushImage

看到如下图表示成功

docker、微服务项目开发中常用的软件安装及使用_第4张图片

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
                  服务要制作的名称 端口           镜像名                 版本号

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

你可能感兴趣的:(docker常用命令)