欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Windows環(huán)境GeoServer打包Docker的方法實(shí)現(xiàn)

 更新時(shí)間:2024年12月23日 09:16:14   作者:AIGIS.  
本文介紹了在Windows環(huán)境下將GeoServer打包為Docker鏡像,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

1.前言

在 Windows 環(huán)境下將 GeoServer 打包為 Docker,可以實(shí)現(xiàn)跨平臺(tái)一致性、簡(jiǎn)化環(huán)境配置、快速部署與恢復(fù),同時(shí)便于擴(kuò)展集成和版本管理,并通過(guò)資源隔離提高系統(tǒng)穩(wěn)定性。由于近期需要在Docker中使用GeoServer,就折騰了一下Docker,也踩了一些GeoServer打包Docker的坑,尤其是在Windows環(huán)境下Docker的打包,索性記錄一下。

2.安裝Docker

直接在Docker官網(wǎng)https://www.docker.com/products/docker-desktop/下載最新版本的Docker Desktop,我下載的是Docker Desktop4.28.0,其中包含的Docker的版本是25.0.3,Docker-Compose的版本是2.24.6。注意不要混淆DockerDocker Desktop。如果是低版本的Docker Desktop,那就需要自己手動(dòng)安裝Docker-Compose了。

在這里插入圖片描述

在這里插入圖片描述

配置一下Docker訪問(wèn)中國(guó)鏡像源

在這里插入圖片描述

{
  "builder": {
    "gc": {
      "defaultKeepStorage": "20GB",
      "enabled": true
    }
  },
  "experimental": false,
  "registry-mirrors": [
    "http://f1361db2.m.daocloud.io",
    "https://registry.docker-cn.com"
  ]
}

配置完畢之后在cmd輸入docker version確認(rèn)一下是否安裝成功了。

在這里插入圖片描述

3.準(zhǔn)備Dockerfile

準(zhǔn)確的來(lái)說(shuō)這一步應(yīng)該叫做準(zhǔn)備鏡像所需的各種文件,包括GeoServer、Dockerfile、和jdk的環(huán)境,注意,jdk得是linux環(huán)境下的版本。我準(zhǔn)備的GeoServer的版本是geoserver-2.22.5,jdk的環(huán)境是jdk1.8.

在這里插入圖片描述

最重要的就是Dockerfile怎么寫?下面直接給出示例,都加上了注釋,相信不難理解了。

# 使用基礎(chǔ)鏡像
FROM ubuntu:20.04

# 設(shè)置環(huán)境變量
ENV JAVA_HOME=/usr/local/jdk8
ENV PATH=$JAVA_HOME/bin:$PATH

# 將 Jetty 的默認(rèn)端口(通常是8080)暴露出來(lái)
EXPOSE 8080

# 復(fù)制并解壓 JDK
COPY jdk-8u191-linux-x64.tar.gz /usr/local/
RUN tar -xzf /usr/local/jdk-8u191-linux-x64.tar.gz -C /usr/local/ \
    && mv /usr/local/jdk1.8.0_191 $JAVA_HOME \
    && rm /usr/local/jdk-8u191-linux-x64.tar.gz

# 復(fù)制 GeoServer 文件夾到鏡像中
COPY geoserver-2.22.5-bin /usr/local/geoserver-2.22.5-bin

# 設(shè)置工作目錄
WORKDIR /usr/local/geoserver-2.22.5-bin/bin

# 給啟動(dòng)腳本增加執(zhí)行權(quán)限
RUN chmod +x /usr/local/geoserver-2.22.5-bin/bin/startup.sh

# 設(shè)置容器啟動(dòng)時(shí)的默認(rèn)命令
CMD ["./startup.sh"]

4.拉取linux環(huán)境

因?yàn)槲覀兪腔?code>ubuntu:20.04來(lái)打包docker的,因此在打包時(shí)會(huì)自動(dòng)去拉取ubuntu:20.04,為了防止失敗,我們先手動(dòng)拉取一下ubuntu:20.04。

在這里插入圖片描述

等待拉取完畢后,我們使用docker images命令確認(rèn)一下是否存在ubuntu的鏡像了。

在這里插入圖片描述

5.打包鏡像

這一步?jīng)]什么好說(shuō)的了,直接在Dockerfile所在的路徑執(zhí)行打包命令就行了,我的機(jī)器不知道為什么不識(shí)別-t命令,-t--tag的簡(jiǎn)寫,既然不支持簡(jiǎn)寫,那我就寫完了吧。唯一注意的地方是打包命令最后面的點(diǎn)不要忘了,表示在當(dāng)前目錄查找文件。

docker build --tag geoserver:2.22.6 .

在這里插入圖片描述

現(xiàn)在使用docker images命令看一下是否存在打包好的文件了。

在這里插入圖片描述

6.數(shù)據(jù)掛載

好了,現(xiàn)在已經(jīng)打包完成了,還差最重要的一步。gis中涉及的影像數(shù)據(jù)都很大,動(dòng)不動(dòng)上百個(gè)G,shp文件也要經(jīng)常變動(dòng),所以它們是不可能打包到docker里的,那么怎么讓docker能夠訪問(wèn)到機(jī)器上的這些文件呢?那就是使用數(shù)據(jù)掛載。

首先我們新建兩個(gè)數(shù)據(jù)卷。一個(gè)掛載data_dir文件夾,一個(gè)掛載lib文件夾。因?yàn)檫@兩個(gè)文件夾里內(nèi)容經(jīng)常要變動(dòng)。注意在windows上創(chuàng)建的數(shù)據(jù)卷在linux路徑下才能找得到。

docker volume create geoserver_data_dir
docker volume create geoserver_lib

在這里插入圖片描述

這兩個(gè)路徑和GeoServer的路徑的對(duì)應(yīng)關(guān)系如下:

在這里插入圖片描述

將右邊兩個(gè)文件里的全部?jī)?nèi)容拷貝到左邊對(duì)應(yīng)文件夾的_data文件夾里,注意:_data這個(gè)文件夾是docker自動(dòng)創(chuàng)建的。

在這里插入圖片描述

好了,拷貝完畢,現(xiàn)在可以啟動(dòng)鏡像并指定數(shù)據(jù)掛載了。

docker run --name geoserver -d -p 8080:8080 \
-v geoserver_data_dir:/usr/local/geoserver-2.22.5-bin/data_dir \
-v geoserver_lib:/usr/local/geoserver-2.22.5-bin/webapps/geoserver/WEB-INF/lib \
geoserver:2.22.5

由于windowscmd里不能多行輸入,我就干脆寫為一行了。

在這里插入圖片描述

docker desktop里看到已經(jīng)啟動(dòng)了,點(diǎn)擊端口號(hào)在瀏覽器打開訪問(wèn)一下。

在這里插入圖片描述

在這里插入圖片描述

6.測(cè)試數(shù)據(jù)掛載

現(xiàn)在我想拓展一下mysql的連接,先看一下數(shù)據(jù)存儲(chǔ)里是沒(méi)有mysql的選項(xiàng)的。

在這里插入圖片描述

現(xiàn)在我們把mysql的插件安裝一下,拷貝插件的jar包到我們的掛載路徑geoserver_lib下。

在這里插入圖片描述

重啟鏡像

docker container geoserver restart

在這里插入圖片描述

nice,出現(xiàn)了mysql,說(shuō)明數(shù)據(jù)掛載OK了。

7.總結(jié)

本文中我們探討了Windows平臺(tái)上GeoServerDocker打包,以及數(shù)據(jù)掛載,最后進(jìn)行了測(cè)試,表明我們的Docker打包是成功的。需要注意的是Docker命令有時(shí)不能識(shí)別簡(jiǎn)寫形式的命令,那就寫全。另外數(shù)據(jù)掛載可以使用普通的數(shù)據(jù)卷,也可以直接掛載一個(gè)目錄。但是我掛載目錄后,在訪問(wèn)時(shí)出現(xiàn)了資源訪問(wèn)不到的問(wèn)題。估計(jì)是windows的路徑問(wèn)題導(dǎo)致的,linux上沒(méi)有這個(gè)問(wèn)題。兩種數(shù)據(jù)掛載方式都可以。如果有人知道后者的原因,也請(qǐng)告訴我一下。

到此這篇關(guān)于Windows環(huán)境GeoServer打包Docker的方法實(shí)現(xiàn)的文章就介紹到這了,更多相關(guān)GeoServer打包Docker內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • IDEA部署Docker到WSL2的詳細(xì)過(guò)程

    IDEA部署Docker到WSL2的詳細(xì)過(guò)程

    這篇文章主要介紹了IDEA 部署 Docker 到 WSL2的過(guò)程詳解,本地環(huán)境Windows10+WSL2(Ubuntu),具體操作過(guò)程跟隨小編一起看看吧
    2021-07-07
  • 解決docker不加載 /etc/docker/daemon.json文件的問(wèn)題小結(jié)

    解決docker不加載 /etc/docker/daemon.json文件的問(wèn)題小結(jié)

    在Ubuntu 24.04 LTS Server上安裝Docker后,發(fā)現(xiàn)鏡像不保存且配置文件路徑不正確,通過(guò)檢查發(fā)現(xiàn)Docker服務(wù)啟動(dòng)時(shí)加載了非預(yù)期的配置文件,最終通過(guò)修改服務(wù)配置文件解決了問(wèn)題,感興趣的朋友跟隨小編一起看看吧
    2024-11-11
  • Docker制作鏡像的完整過(guò)程

    Docker制作鏡像的完整過(guò)程

    本文主要介紹了Docker制作鏡像的完整過(guò)程,以制作CentOS鏡像為例,講述對(duì)鏡像自定義,打包以及推送的遠(yuǎn)程倉(cāng)庫(kù)的過(guò)程,感興趣的可以了解一下
    2021-11-11
  • Docker 網(wǎng)絡(luò)模式及配置方式

    Docker 網(wǎng)絡(luò)模式及配置方式

    這篇文章主要介紹了Docker 網(wǎng)絡(luò)模式及配置方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2021-03-03
  • MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫(kù)的方法

    MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫(kù)的方法

    這篇文章主要介紹了MacOS使用Docker創(chuàng)建MySQL主從數(shù)據(jù)庫(kù),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • docker部署springboot和vue項(xiàng)目的實(shí)現(xiàn)步驟

    docker部署springboot和vue項(xiàng)目的實(shí)現(xiàn)步驟

    本文主要介紹了docker部署springboot和vue項(xiàng)目的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-06-06
  • 使用docker搭建一套開發(fā)環(huán)境全家桶的詳細(xì)教程

    使用docker搭建一套開發(fā)環(huán)境全家桶的詳細(xì)教程

    這篇文章主要介紹了使用docker搭建一套開發(fā)環(huán)境全家桶,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-09-09
  • docker之tomcat8.5容器中如何部署war包

    docker之tomcat8.5容器中如何部署war包

    文章介紹了如何使用Docker和docker-compose將一個(gè)Spring?Boot項(xiàng)目的WAR文件部署到Tomcat?8.5容器中,并詳細(xì)描述了創(chuàng)建和啟動(dòng)容器、配置數(shù)據(jù)庫(kù)連接以及打包和部署WAR文件的步驟
    2025-01-01
  • Docker如何創(chuàng)建一個(gè)Jar服務(wù)容器

    Docker如何創(chuàng)建一個(gè)Jar服務(wù)容器

    這篇文章主要介紹了Docker如何創(chuàng)建一個(gè)Jar服務(wù)容器問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • PVE下擴(kuò)展openwrt?for?x86分區(qū)大小方式

    PVE下擴(kuò)展openwrt?for?x86分區(qū)大小方式

    本文介紹了在PVE環(huán)境下如何對(duì)OpenWRT虛擬機(jī)的分區(qū)進(jìn)行擴(kuò)容,包括磁盤調(diào)整、軟件安裝、分區(qū)配置和系統(tǒng)引導(dǎo)等步驟,操作前需做好備份,以防數(shù)據(jù)丟失
    2024-10-10

最新評(píng)論