LHB hace 3 meses
padre
commit
be6e7fbeaa
Se han modificado 1 ficheros con 113 adiciones y 0 borrados
  1. 113 0
      doc/docker/README.md

+ 113 - 0
doc/docker/README.md

@@ -0,0 +1,113 @@
+# 使用docker构建工程步骤
+
+### 1. 使用harbor作为私有库,需要配置maven,找到setting.xml( `linux可以使用find / -name settings.xml`)加入以下配置
+
+```
+<servers>
+  <server>
+    <id>192.168.0.157</id>
+    <username>admin</username>
+    <password>Harbor12345</password>
+    <configuration>
+      <email>smallchill@163.com</email>
+    </configuration>
+  </server>
+</servers>
+
+<pluginGroups>
+  <pluginGroup>com.spotify</pluginGroup>  
+</pluginGroups>
+```
+
+### 2. docker开启远程访问
+
+如果没有远程访问,会报 `Connect to 192.168.0.157:2375 [/192.168.0.157] failed: Connection refused: connect`
+
+在`/usr/lib/systemd/system/docker.service`,配置远程访问。主要是在[Service]这个部分,加上下面两个参数:
+
+```
+cd /usr/lib/systemd/system
+
+vi docker.service
+
+ExecStart=
+ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock
+```
+
+### 3. 配置http访问
+
+因为docker1.3.2版本开始默认docker registry使用的是https,我们设置Harbor默认http方式,所以当执行用docker login、pull、push等命令操作非https的docker
+regsitry的时就会报错。  
+解决办法:配置`/etc/docker/daemon.json`
+
+```
+[root@localhost harbor]# vi /etc/docker/daemon.json 
+{
+  "registry-mirrors": ["https://3dse7md.mirror.aliyuncs.com"]
+}
+```
+
+将其修改为:
+
+```
+{
+  "registry-mirrors": ["https://3dse7md.mirror.aliyuncs.com"],
+  "insecure-registries":["192.168.0.157"]
+}
+```
+
+### 4. 在每个需要构建子项目的pom.xml下加入配置,内容可参考如下
+
+```
+<build>
+  <plugins>
+    <plugin>
+        <groupId>com.spotify</groupId>
+        <artifactId>dockerfile-maven-plugin</artifactId>
+        <configuration>
+            <username>${docker.username}</username>
+            <password>${docker.password}</password>
+            <repository>${docker.registry.url}/${docker.namespace}/${project.artifactId}</repository>
+            <tag>${project.version}</tag>
+            <useMavenSettingsForAuth>true</useMavenSettingsForAuth>
+            <buildArgs>
+                <JAR_FILE>target/${project.build.finalName}.jar</JAR_FILE>
+            </buildArgs>
+            <skip>false</skip>
+        </configuration>
+    </plugin>
+  </plugins>
+</build>
+```
+
+### 5. 在每个需要构建子项目的根目录下加入Dockerfile,内容可参考如下
+
+```
+FROM bladex/alpine-java:openjdk8-openj9_cn_slim
+
+MAINTAINER bladejava@qq.com
+
+RUN mkdir -p /blade/gateway
+
+WORKDIR /blade/gateway
+
+EXPOSE 80
+
+ADD ./target/blade-gateway.jar ./app.jar
+
+ENTRYPOINT ["java", "-Djava.security.egd=file:/dev/./urandom", "-jar", "app.jar"]
+
+CMD ["--spring.profiles.active=test"]
+```
+
+### 6. 在工程根目录的docker-compose.yml下加入配置,内容可参考如下
+
+```
+blade-gateway:
+  image: "${REGISTER}/blade-gateway:${TAG}"
+  ports:
+  - 80:80
+  networks:
+    blade_net:
+      ipv4_address: 192.168.2.1
+```