ET部署到docker,用docker實現快速部署ET分佈式服務器(一)

部署準備:

      1.本次部署ET和在linux部署ET類似,讀者請先行了解ET在linux部署參考 https://www.cnblogs.com/cnxkey/articles/9743842.html

      2.本次部署win7環境,安裝Docker Toolbox 18.03.0(高版本可能會有問題),附docker鏈接 https://github.com/docker/toolbox/releases/download/v18.03.0-ce/DockerToolbox-18.03.0-ce.exe    其他系統的docker請自行百度下載。安裝完DockerToolbox,點擊Docker Quickstart Terminal,等待一段一時間,如圖docker安裝完成

輸入docker version,顯示如下,至此安裝完成。

      3.下載安裝xshell。xshell連接docker,參看http://ju.outofmemory.cn/entry/331502,然後創建一個docker會話

部署步驟:

      1.部署基礎鏡像centos

         首先我們構建一個centos 作爲基礎鏡像,之後我們在其上安裝dotnet,httpd,數據庫等其他程序,方便以後快速部署到其他服務器。可能發現docker  pull 下載有點慢,可參看這篇https://blog.csdn.net/julien71/article/details/79760919,修改成國內的源。

centos 基礎鏡像構建步驟:

        1.首先打開xshell的docker會話,輸入以下代碼,下載centos鏡像:

docker pull centos

        2.查看centos鏡像,可以看到我們安裝好的鏡像:

docker images

       3.輸入以下代碼,運行鏡像到容器內:

docker run -it -p 8081:8080  --name mycentos  --privileged=true centos  /sbin/init

mycentos 是你要運行的名字,

centos 是剛剛pull下來的鏡像,

其他參數最好不要改

     

2.從外部鏈接到docker內的鏡像

1.我們點擊docker xshell會話打開另一個窗口,查看運行容器並根據容器id進入該進程,

docker ps

docker exec -it e1bb bash

2.如上圖我們已經進入centos容器,現在在容器中安裝配置openssh:

yum install passwd openssl openssh-server -y
yum -y install openssh-clients
yum install sudo
yum -y install cracklib-dicts
/usr/sbin/sshd -D &(開啓sshd)
systemctl enable sshd(自動啓動)
sudo passwd root(輸入密碼)
ssh [email protected](用於測試ssh是否能登錄,輸入剛纔的密碼)

容器之內 登錄成功,

3.然後新建一個docker窗口,保存這個可以ssh連接的容器,並按照2223->22端口映射啓動鏡像,之後我們可以用xshell來連接端口2223,進而連接到鏡像中

docker ps  (查看容器ID) 
docker commit 40a8(容器ID前四位) centos-sshd-connected
centos-sshd-enableconnect是命名
docker@default:~$ docker run -it -p 2223:22  --name centos-sshd-conneted  --privileged=true centos-sshd-enableconnect  /sbin/init

4.在xshell點新建然後配置,端口2223,主機IP是docker的啓動時顯示的IP地址,點連接接下來輸入密碼即可

5.連接成功,至此我們擁有連個會話窗口,一個是用來連接docker,一個是用來連接docker內的centos鏡像的。

3.在docker的容器中配置ET的運行環境

         如上面前面那位大佬的教程https://www.cnblogs.com/cnxkey/articles/9743842.html

1.

yum install httpd
yum list | grep initscripts
yum install initscripts -y
yum install vim
/bin/systemctl start httpd.service



接下來按照教程去改端口爲8080
vi /etc/httpd/conf/httpd.conf 

檢測httpd是否安裝成功:
curl localhost:8080

由於我們剛纔只是打開端口2223運行的,所以在宿主機中訪問httpd端口中的8080是無效的
,所以後面我們裝完環境後記得以80端口 2223端口打開,另外ET的端口10002,20002,一併打開。

數據庫那部分這個教程就不安裝了。
接下來
docker ps
docker commit 75f23231ee58 centos-sshd-httpd

docker stop $(docker ps -a -q)  (停止所有運行容器,防止接下來啓動端口衝突)

創建cgroup
sudo mkdir /sys/fs/cgroup/systemd
sudo mount -t cgroup -o none,name=systemd cgroup /sys/fs/cgroup/systemd

docker run -it -p 80:80 -p 2223:22 -p 8080:8080 -p 10002:10002 -p 20002:20002 --restart=always --name centos-sshd-httpd-test1 --privileged=true centos-sshd-httpd /sbin/init
(把所有其他端口帶上)
/bin/systemctl start httpd.service
curl localhost:8080 看看是否正常
正常,回到win7瀏覽器,瀏覽器輸入IP:dockerIp+8080映射端口,如http://192.168.99.100:8080


至此構建完成httpd,下一章直接講述構建dotnet和運行ET的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章