<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
<maven.test.skip>true</maven.test.skip>
<spring-cloud.version>Finchley.RELEASE</spring-cloud.version>
<dockerfile.maven.version>1.4.3</dockerfile.maven.version>
<docker.image.prefix>registry.docker.com:5000</docker.image.prefix>
<appPort>8880</appPort>
</properties>
<finalName>${project.name}</finalName>
<plugin>
<groupId>com.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version>1.4.13</version>
<executions>
<execution>
<id>default</id>
<goals>
<goal>build</goal>
<goal>push</goal>
</goals>
</execution>
</executions>
<configuration>
<repository>${docker.image.prefix}/${project.build.finalName}</repository>
<tag>${project.version}</tag>
<buildArgs>
<JAR_FILE>${project.build.finalName}.jar</JAR_FILE>
<APP_PORT>${appPort}</APP_PORT>
</buildArgs>
</configuration>
</plugin>
- springboot application.ymlの設定
server:
port: @appPort@
logging:
level:
root: info
spring:
application:
name: @project.name@
- Dockerfile設定 > tip: プロジェクトのルートディレクトリの下部
FROM hub.c.163.com/dwyane/openjdk:8
VOLUME /tmp
WORKDIR /workdir
ARG JAR_FILE
ARG APP_PORT
ADD target/${JAR_FILE} app.jar
ENTRYPOINT ["java","-jar","app.jar"]
EXPOSE ${APP_PORT}
- mvn clean package > プライバシー リポジトリにアクセスしてください: http://registry.docker.com:5000/v2_catalog
- Jenkins の設定
- mavenプロジェクトを作成
- Build[Goals and options -> clean install -Dmaven.test.skip=true]
- Post Steps[Run only if build succeeds]
- add post-build step[Send files or execute commands over SSH]
cd $DOCKER_WORKSPACE/$JOB_NAME
export app_version='1.0'
tee $JOB_NAME.yml <<-'EOF'
version: '3.5'
services:
$JOB_NAME:
image: registry.docker.com:5000/$JOB_NAME:${app_version}
ports:
- target: 8880
published: 8880
mode: host
networks:
- middleware
deploy:
replicas: 1
update_config:
parallelism: 1
restart_policy:
condition: on-failure
networks:
middleware:
external: true
EOF
docker stack up -c $JOB_NAME.yml app
- 表示/etc/sysconfig/dockerファイルをインストールし、インストールされているDockerceはこのファイルが見つかりませんでした。:
sudo vi /etc/sysconfig/docker
//添加下面这行
other_args="-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock"
//保存
:wq!
//重启docker服务
service docker restart
- 在windows系统环境变量中新建DOCKER_HOST值为tcp://[docker_ip]:2375,将这里的[docker_ip],替换为docker所在的centos服务器IP或主机名(用主机名,需要windows配置hosts),可能需要重启系统。
- /usr/lib/systemd/system/docker.serviceファイルの変更
sudo vi /usr/lib/systemd/system/docker.service
//在ExecStart这一行后面加上(这里就写4个0,别改成自己的ip)
-H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
改完后效果如下
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
:wq!
保存退出
重新加载配置文件 systemctl daemon-reload
重启docker :service docker restart
这样才可以是/etc/default/docker中的配置项生效
- Crackerのホストと指定するポートをリッスンする場合は、コマンド:
netstat -tlunp
sudo iptables-save
sudo firewall-cmd --zone=public --add-port=2375/tcp --permanent
sudo firewall-cmd --reload