windows本地docker环境搭建及服务部署
一、windows 安装docker
1、最新版安装
启用Hyper-V
dism.exe / Online / Enable-Feature:Microsoft-Hyper -V / All
或
启用管理程序(慎用 容易造成无法开机)
bcdedit / set hypervisorlaunchtype auto
现在重新启动系统,然后重试。
如果问题仍然存在,Hyper-V将在您的系统已损坏
尝试如下操作
进入控制面板 - > [程序] - > [Windows功能],并完全取消选中所有Hyper-V相关组件。重新启动系统。
再次启用Hyper-V。重新启动
如果失败则关闭所有Hyper使用第二种安装方案
2、安装DockerTool
![d9729581f49a75354de89a4899a8dddb.png](https://img-blog.csdnimg.cn/img_convert/d9729581f49a75354de89a4899a8dddb.png)
docker 启动程序
![d4694d14ae82c557aedd656f2486aa27.png](https://img-blog.csdnimg.cn/img_convert/d4694d14ae82c557aedd656f2486aa27.png)
docker 链接控制台 (可能没有 )可以到安装路径下的 Docker Toolboxstart.sh
手动启动
二、docker 配置
Docker自从1.3.X之后docker registry交互默认使用的是HTTPS,但是搭建私有镜像默认使用的是HTTP服务,所以与私有镜像交时会出现错误 需要进行如下配置
//进入docker控制台
docker-machine ssh default
//添加http配置(重要)
sudo vi /etc/docker/daemon.json
{
"debug" : true,
"experimental" : false,
"insecure-registries":["docker私有仓库的ip地址:端口号
"]
}
//重启docker
docker-machine restart
三、idea配置
使用第二种方式安装的 可以直接指定默认dockers
![e22b8dffce5b07a8b879d6844f2f8d1c.png](https://img-blog.csdnimg.cn/img_convert/e22b8dffce5b07a8b879d6844f2f8d1c.png)
配置远程镜像仓库
![97293cf5aed8d65b7f09de421e7ce242.png](https://img-blog.csdnimg.cn/img_convert/97293cf5aed8d65b7f09de421e7ce242.png)
Docker http://39.104.177.55:1180
账号 cs 密码 Hj15161516
Email a15174027322@icloud.com
四、打包发布及docker file说明
1、本地jar打包
2、dockerfile配置
dockerfile客服项目通用版本
FROM openjdk:8-jdk-alpine
MAINTAINER jianghu a15174027322@icloud.com
#拷贝文件到容器,也可以直接写成ADD /gateway.jar /work/gateway.jar
ADD ./target/cs-visitor-core-0.0.1-SNAPSHOT.jar /work/visitor.jar
#Set environment variables.
ENV HOME /work
ENV JAVA_OPTS ""
#ENV DEFAULT_OPTS "--eureka.client.serviceUrl.defaultZone=http://jianghu:hjailinux11@192.168.1.46:1111/eureka/"
ENV DEFAULT_OPTS "--eureka.client.serviceUrl.defaultZone=http://jianghu:hjailinux11@39.104.203.83:1111/eureka/ --eureka.instance.ipAddress=39.104.203.83"
ENV OTHER_OPTS ""
#开放端口
EXPOSE 15003
#设置时区
RUN echo "Asia/Shanghai" > /etc/timezone;
#配置容器启动后执行的命令
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar /work/visitor.jar $DEFAULT_OPTS $OTHER_OPTS" ]
#Define working directory.
WORKDIR /work
#Define default command.
CMD ["bash"]
⬆️高亮处为指定注册中心与 部署服务器IP
![eafa0a126ad1d1369e16ac1724282a0e.png](https://img-blog.csdnimg.cn/img_convert/eafa0a126ad1d1369e16ac1724282a0e.png)
3、打包docker镜像
![3ac2606d0f4e77a8298aa12e54d86b06.png](https://img-blog.csdnimg.cn/img_convert/3ac2606d0f4e77a8298aa12e54d86b06.png)
4、推镜像去镜像仓库
![5b3e04a0b7d1ba506b0ae99127310a09.png](https://img-blog.csdnimg.cn/img_convert/5b3e04a0b7d1ba506b0ae99127310a09.png)
5、服务器服务部署
服务器 /home/java 下有执行docker服务部署的脚本
在路径下编辑 文本 server-name文件 指定要发送的服务及端口
cs-visitor=15003
执行部署命令
sh download.sh server-name
查询日志
sh log.sh cs-visitor
五、常见错误
![82a0015a2221d377554c861af25fa002.png](https://img-blog.csdnimg.cn/img_convert/82a0015a2221d377554c861af25fa002.png)
报错1 可以忽略
报错2 重新检查进行第二部docker配置启用Hyper-V