在AWS上创建linux系统EC2使用docker

来源:互联网 发布:安卓手机备份数据 编辑:程序博客网 时间:2024/06/01 10:15

最近研究将金蝶eas安装在docker容器中运行,AWS上linux系统是自带了docker的,所以我们可以是很方便的使用.

在这里我们选择的Cent OS系统的centos7.0-offical-bootable - ami-14118d2d,主要的原因是其它的Cent OS系统我没有研究出如何安装图形界面.

本来玩docker可以不使用图形界面的.但是,在安装eas时是必须有图形界面才行.当然这是在linux下安装eas

至于我们最后需要将eas运行在docker中,docker没有图形界面,如果还要让docker支持gui程序运行,这又是另一个研究方向.


在这里我选择了绕开这个问题.因为eas安装后备份的eas安装目录是可以直接使用的.所以我采取的方案是将eas安装在拥有图形界面的linux系统中,然后将可以使用的eas目录挂载到docker上,这样就可以在docker上运行eas.


在aws上创建linux EC2可以参考我的另一篇文章:http://blog.csdn.net/u012891504/article/details/51698425

在aws上创建的linux EC2后需要安装图形界面并用vnc连接,可参考:http://blog.csdn.net/u012891504/article/details/51699844


连接linux后,就可以进行docker的安装.

在这里我们首先获得linux系统的root权限,以避免后面一些不必要的麻烦.

sudo passwd root  //设置root密码

su root //切换到root


接着我们安装docker

yum install -y docker  

如果我们没有切换到root用户

这里必须在命令前加上 sudo ,这个sudo可以避免大部分权限不足导致的问题


接着  sudo service docker start //启动docker服务

这时我们可以运行  docker info 查看docker的信息


常用命令:

docker images    //列出docker中的容器镜像

docker ps -a //列出所有的容器


docker pull ubuntu //下载Ubuntu默认版本的镜像

docker start container //启动已有的容器

docker stop container //停止运行的容器

docker rm container //删除容器

docker rmi image  //删除镜像

docker commit container image:version //将现有container保存为镜像


以上是一些常用的docker命令

可以使用winscp将eas的安装包上传至linux上

然后运行安装程序安装eas,我本地安装eas到了/root/kingdee目录


运行一个容器

docker run -i -t -p 10688:10688 -p 5888:6888 -p 10060:10060 -p 10061:10061 --name eas1 --privileged=true -v /root/kingdee:/root/kingdee cf16a49e83e9

让我们解释一下上面的命令

docker run //从从镜像中生成运行状态的容器

-i //采用交互模式运行容器

-t //分配一个伪终端标识符,这在你登录容器时需要打开

-p 10688:10688 //将容器的10688端口映射到linux的10688端口,可以映射多个端口

--name eas1 //给容器取名为eas1

--privileged=true //使挂载到容器中的卷能够操作

 -v /root/kingdee:/root/kingdee //将linux下/root/kingdee目录挂载到容器/root/kingdee目录,前面的是linux目录,后面的是容器目录

cf16a49e83e9 //基础镜像的id

这个时候在容器中就可以运行eas,通过相关的映射端口就可以通过外网访问到eas


当处于docker命令行时,可以通过命令:exit 退出到linux命令行,这个命令会停止容器,如果不想停止容器可以Ctrl+p+q

当处于linux命令行时,可以通过docker attach container 进入到运行中的容器命令行






1 0