1. 程式人生 > >Centos7的Docker容器裡部署xwiki

Centos7的Docker容器裡部署xwiki

環境先知:
CentOS 7
xwiki 9.7
tomcat 7.0.76
Docker 1.12.6

1.執行一個CentOS7映象的容器.

-p指定埠,指定8080是因為tomcat預設是8080,196e0ce0c9fb是映象的uuid,後面的/usr/sbin/inie則是為了在容器裡面可以使用 systemctl命令來管理服務.

docker run -i -t -d -p 8080 --name xwiki 196e0ce0c9fb /usr/sbin/init

進入容器內部,exec保證了退出容器也不會導致容器停止工作,也是與docker attach命令的區別.

docker exec
-ti xwiki /bin/bash

2.安裝Java環境

yum install java -y

編輯配置檔案

vi /etc/profile

在profile檔案底部追加如下:

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.144-0.b01.el7_4.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export PATH=$JAVA_HOME/bin:${PATH}

重新整理配置檔案使它生效.

source /etc/profile

3.安裝MySQL服務.

yum install mysql -y
yum install mysql-devel -y 

上面的兩個服務可以安裝,但是CentOS7以後不能直接安裝mysql-server服務,需要我們先下載,如下:

wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install mysql-community-server

啟動MySQL服務

systemctl start  mysqld

建立xwiki需要的資料庫.根據官網上的教程.

mysql> create database xwiki default character set utf8 collate utf8_bin;

並未這個資料庫建立一個使用者.

mysql> grant all privileges on *.* to [email protected] identified by 'xwiki';

4.安裝Tomcat

yum install tomcat -y

下載Tomcat 的web管理器,沒有這個的話無法通過瀏覽器訪問程式的,很關鍵.

yum install tomcat-webapps tomcat-admin-webapps -y
cd /usr/share/tomcat/webapps

這時我們需要將準備好的war包傳上來,或者直接從網上下一個.

wget http://download.forge.ow2.org/xwiki/xwiki-9.7.war

然後先啟動Tomcat一下,讓它把war包解開.

systemctl start tomcat

然後停止Tomcat

systemctl stop tomcat

然後刪除war包,防止下次啟動的時候從新解壓.

rm xwiki-enterprise-web-6.3.war

然後切換到解壓的工作目錄

cd xwiki-enterprise-web-6.3

可能有的朋友需要了解我現在所處的路徑

/usr/share/tomcat/webapps/xwiki-enterprise-web-6.3
cd WEB-INF/

我們要替換此資料夾下的兩個檔案.來完成xwiki與mysql資料庫的連線,並設定為UTF-8,避免中文亂碼.
hibernate.cfg.xml 需要修改的地方:
將自帶的hsql註釋掉,將mysql的地方取消註釋,並改為以下內容:

    <property name="connection.url">jdbc:mysql://localhost/xwiki</property>  
    <property name="connection.username">xwiki</property>  
    <property name="connection.password">xwiki</property>  
    <property name="connection.driver_class">com.mysql.jdbc.Driver</property>  
    <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>  
    <property name="dbcp.ps.maxActive">20</property>  
    <property name="hibernate.connection.charSet">UTF-8</property>
    <property name="hibernate.connection.useUnicode">true</property>
    <property name="hibernate.connection.characterEncoding">utf8</property>

    <mapping resource="xwiki.hbm.xml"/>  
    <mapping resource="feeds.hbm.xml"/>  
    <mapping resource="activitystream.hbm.xml"/>  
    <mapping resource="instance.hbm.xml"/> 

圖片展示:
這裡寫圖片描述

修改xwiki.cfg如下:
將其中的xwiki.encoding=UTF-8取消註釋.

然後修改Tomcat的UTF-8格式:

cd /usr/share/tomcat/conf
vi server.xml

修改為如下:
這裡寫圖片描述

這裡寫圖片描述
5.啟動Tomcat,使用瀏覽器訪問xwiki.

systemctl start tomcat

相關推薦

Centos7的Docker容器部署xwiki

環境先知: CentOS 7 xwiki 9.7 tomcat 7.0.76 Docker 1.12.6 1.執行一個CentOS7映象的容器. -p指定埠,指定8080是因為tomcat預設是8080,196e0ce0c9fb是映象

Docker容器部署Apache+PHP+MariaDB+phpMyAdmin

前面講到了建立MariaDB,這次在前面的基礎上搭建phpMyAdmin服務,以便友好的管理資料庫Mari

從零開始通過idea外掛將一個spring boot專案部署到docker容器執行

實操:將一個spring boot專案部署到docker容器裡執行 實驗需要的環境: 騰訊雲+Ubuntu 16.04 x64+idea+外掛docker integration+daocloud 第一步,安裝作業系統 首先在騰訊雲上安裝一個乾淨

容器技術部署運維更快高效的發展就來自睿雲智合(Wise2C)

容器技術部署運維更快高效的發展就來自睿雲智合(wise2c) 隨著Docker的日趨成熟,容器技術在全球範圍內的應用越來越廣泛,國內的企業IT對於容器技術也從過去的試用調研轉向現在的真正落地。睿雲智合(Wise2C)將密切追蹤這一領域的技術發展趨勢,憑借業界領先的產品以及豐富的落地經驗為國內企業提供專業

Kubernetes(K8S)集群管理Docker容器部署篇)

kubernetes k8s今天這篇文章教給大家如何快速部署一套Kubernetes集群。K8S集群部署有幾種方式:kubeadm、minikube和二進制包。前兩者屬於自動部署,簡化部署操作,我們這裏強烈推薦初學者使用二進制包部署,因為自動部署屏蔽了很多細節,使得對各個模塊感知很少,非常不利用學習。所以,這

在Docker容器部署靜態網頁的方法教程

tin uri ash led att bin get acf code 步驟:1.創建映射端口的交互式容器docker run -p 80 --name web -i -t daocloud.io/ubuntu /bin/bash2.安裝Nginxapt-get inst

.NET Core容器化之多容器應用部署-使用Docker-Compose

gre server rebuild asp ack 進行 add view created 1.引言 緊接上篇.NET Core容器化@Docker,這一節我們先來介紹如何使用Nginx來完成.NET Core應用的反向代理,然後再介紹多容器應用的部署問題。 2.

談談surging引擎的tcp、http、ws協議和如何容器部署

spro inter span ppi package completed module out 選址 1、前言 分布式已經成為了當前最熱門的話題,分布式框架也百花齊放,群雄逐鹿。從中心化服務治理框架,到去中心化分布式服務框架,再到分布式微服務引擎,這

Spring Boot Tomcat 容器部署實踐與總結

打通 目的 rim attribute exceptio process ntc with 初始化 在平時的工作和學習中經常會構建簡單的web應用程序。如果只是HelloWorld級別的程序,使用傳統的Spring+SpringMVC框架搭建得話會將大部分的時間花費在搭建框

容器部署——docker常用命令

pro images 圖片 png docke ps命令 log ESS src 1、使用docker ps命令查看有哪些進程 2、進入容器:容器化部署——docker常用命令

【Docker學習總結】7.Docker在容器部署靜態網站

上一篇我們介紹了Docker守護式容器的啟動方式,本篇我們來學習如何在Docker容器中部署靜態網站。 這裡我們將在Docker容器中使用Nginx搭建一個靜態網站,通過這個部署,讓大家對在前幾節中學到的Docker容器知識,有進一步的熟悉和理解。 在開始部署之前,首先我們需要先了解一個

Effective_STL 學習筆記(三) 使容器物件的拷貝操作輕量而正確

    對於容器容納物件、從容器中獲取物件,STL的方式—— 拷進去、拷出來。   物件通過使用它的拷貝成員函式來拷貝: 特別是它的複製建構函式和它的賦值操作符(=)     Widget( const Widget & );     Widget & operat

spring容器存取bean

spring容器裡存取bean spring容器存取bean的過程是什麼? Map中是怎麼存放值的? 首先 , 先把各個物件碼出來,把過程搭建好 1 . 建配置類 , 為這個類配置了一個包掃描 , 程式碼如下: @ComponentScan( value=“com.db”,exc

Docker入門系列之一:在一個Docker容器執行指定的web應用

實現題目描述的這個需求有很多種辦法,作為入門,讓我們從最簡單的辦法開始。 首先使用命令docker ps確保當前沒有正在執行的Docker例項。 執行命令docker run -it nginx: 然後我們另外開一個終端,用docker ps命令檢視這個執行起來的容器例項,Status

Linux Centos7.5從docker的安裝到容器部署執行

環境:   Win10 內的 VMware workstation(Centos7 64位)   所有命令皆為 root 使用者, 非 root 使用者應在命令前加 sudo   檢視系統版本命令: cat /etc/redhat-release   安裝Docker

spring eureka叢集+spring boot 微服務,容器部署示例

1.搭建eureka docker叢集 (1)建立eureka容器 參考如下指令,在不同的伺服器上建立eureka容器。(提前在docker hup 上下載好java:8的映象) docker run -d --name registry1 -p 8762:808

Docker容器學習梳理--應用程式容器環境部署

轉:https://www.cnblogs.com/kevingrace/p/6425424.html 關於國內Docker映象,可以參考:Docker容器學習梳理--基礎知識(2) 的Docker映象使用。 如果我們需要在Docker環境下部署tomcat、redis、mysql

在Spring的IOC容器配置Bean

•在 xml 檔案中通過 bean 節點來配置 bean <bean id="helloWorld" class="com.spring.HelloWorld"> <property name="userName" value="Spring"></prope

springcloud feign原始碼分析(4)——來看看將@FeignClient介面構造為bean的過程以及是如何註冊到容器

接著上一篇,繼續來看 registerFeignClient() 方法 這邊一看就是在構造構造一個BeanDefiniction的東西,這個東西的話,構造的過程,其實就是用了構造器模式,這個構造器模式呢,就會將@FeignClient註解的屬性以及ServiceAClien

Docker容器部署嘗試——多容器通訊(node + mongoDB + nginx)

原因是這樣的 想要部署一個mocker平臺,就在朋友的推薦下選擇了api-mocker這個現成的專案 該專案分為服務端node、客戶端vue、以及資料庫mongoDB 在嘗試直接部署的時候發現需要裝一大堆的環境,node、mongo、nginx啊,特別的麻煩,之前簡單的使用過docker,就在