小言_互联网的博客

ET部署到docker,用docker实现快速部署ET分布式服务器(一)

318人阅读  评论(0)

部署准备:

      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 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 root@127.0.0.1(用于测试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的。


转载:https://blog.csdn.net/qq_19646129/article/details/102477071
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场