;directory>src/main/resources</directory>
</resource>
<resource>
<directory>src/main/java</directory>
<includes>
<include>* / .xml</include>
</includes>
</resource>
</resources>
<pluginManagement>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version> { project.build.finalName}</finalName>
</買粉絲nfiguration>
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
<plugin>
<groupId>買粉絲.spotify</groupId>
<artifactId>dockerfile-maven-plugin</artifactId>
<version> { project.basedir}</買粉絲ntextDirectory>
<useMavenSettingsForAuth>true</useMavenSettingsForAuth>
<repository> { docker.registry.name}/ { docker.image.tag}</tag>
<buildArgs>
<JAR_FILE>target/ { java.version}</source>
<target>${ java.version}</target>
<en買粉絲ding>UTF-8</en買粉絲ding>
<買粉絲pilerArgs>
<arg>-parameters</arg>
</買粉絲pilerArgs>
</買粉絲nfiguration>
</plugin>
</plugins>
</build>
(2)yml配置
redis及mysql都要與前面的創建容器時的配置相同:
(3)創建私有倉庫(利用Harbor)
在harbor管理界面創建項目blade,下面上傳鏡像的時候要加入項目路徑。
(4)打包
mvn clean install dockerfile:build -Dmaven.test.skip=true
(5)上傳到私有倉庫
兩種方式:
mvn dockerfile:push
或者docker push 10.10.0.127:10080/blade/springblade:0.0.1
然后在Harbor管理后臺就可以看到鏡像了。
要pull下來的話:
docker pull 10.10.0.127:10080/blade/springblade:0.0.1
(6)發布
cd ~
mkdir docker/blade/app -p
cd docker/blade
docker run -itd --name blade --買粉絲work=my買粉絲work --ip=172.19.0.7 -p 9001:9001 -v $PWD/app:/mnt/ 10.10.0.127:10080/blade/springblade:0.0.1
至此,就可以通過localhost:1889來訪問Saber了。
另外,我通過uri來區分多租戶。例如localhost:1889是管理租戶,localhost:1889/test是名為test的租戶。這樣就避免了在登錄界面填寫租戶id。
快速實現Docker到Redis的連接
首先運行下面命令,從Docker Hub拉取Redis鏡像:
$ docker pull redis
運行上面的命令下載鏡像,Docker daemon會自動輸出該Redis鏡像的來源信息、下載狀態,下載完成之后系統也會顯示最終狀態信息。
鏡像拉取完成之后,大家可以用下面的命令啟動Redis容器,記得要帶上“-d”參數:
$ docker run --name myredis-itsmine -d redis
“-d”參數的作用是讓Redis在后臺運行,因為本例中采用這種后臺運行的方式較為合適,所以這里我們寫上了這個參數。如果不帶 “-d”參數的話處理起來就要麻煩一些,這種情況下我們需要先停止終端的運行或者退出容器,然后才能通過宿主機來訪問Redis。
下面我們要進行最重要的一步操作,連接Redis。由于我們并沒有實際的需要連接到Redis的應用,所以這里我們用了redis-cli工具。大家可以在宿主機上安裝redis-cli,不過我建議大家新建一個容器,將redis-cli運行在里面,然后用下面的命令把這兩個容器連接起來,這樣我們就可以看到詳細的應用信息:
$docker run --rm -it --link myredis-itsmine:redis redis /bin/bash
運行該命令之后我們就可以在bash命令行下面看到容器的提示信息了:
root@f75bacab2715:/data#
$ docker run --rm -it --link myredis:redis redis /bin/bash
$ root@af47015c4a76:/data# redis-cli -h redis -p 6379
$ redis:6379> ping
$ PONG
$ redis:6379> set "Abc" 123
$ OK
$ redis:6379> get "Abc"
$ "123"
$ redis:6379> exit
root@af47015c4a76:/data# exit
$ exit
在上面的命令中,docker run命令后面跟的“–link myredis-itsmine:redis” 參數用于創建連接,Docker收到該指令后,就會嘗試將我們新建的容器連接到當前的“myredis-itsmine” 容器,同時會將新容器中的redis-cli命名為“redis”。Docker會在容器中的/etc/hosts路徑下為“redis”創建一個入口,并指向“myredis-itsmine”容器的IP地址。這樣我們就可以在redis-cli中直接使用“redis”作為主機名,這種做法是很方便的,我們不必再去找其他辦法來“發現”Redis的IP地址,然后加以引用了。
接下來我們就可以通過set和put命令來執行Redis的存取操作了,這里我們可以用一些示例數據來做個試驗。當然,在開始存取操作之前,大家還要再運行一下Redis的ping命令,驗證一下Redis服務器是否已經連接上了。
2024-07-24 11:19
2024-07-24 11:17
2024-07-24 11:10
2024-07-24 10:36
2024-07-24 10:21
2024-07-24 09:13