以下软件安装环境为linux作者用的是centos7 x64哦~~
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 镜像端口:你的端口 镜像名称:版本号
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' .
5.创建容器
docker run -it --name=jdk1.8 jdk1.8 /bin/bash
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
微服务部署方法有两种:
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
修改后如下
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
看到如下图表示成功
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
服务要制作的名称 端口 镜像名 版本号
有问题欢迎提出,一起来共同学习把