Docker安装websphere(四)
在Docker容器里安装webshpere
<!--前提:已经安装好了docker,能够正常使用。-->
(1)docker安装websphere(需要账号和密码登录,不挂载数据卷)
- 获取镜像: docker pull ibmcom/websphere-traditional:8.5.5.12-profile
docker pull #是将镜像拉取下来的命令,后面跟的是镜像名以及镜像版本信息
ibmcom/websphere-traditional #websphere的镜像名
8.5.5.12-profile #镜像的版本,也就是websphere的版本 - 使用镜像生成容器并且启动容器:
docker run --name websphere \-h websphere \-e UPDATE_HOSTNAME=true \-p 9043:9043 \-p 9443:9443 \--restart=always \-d ibmcom/websphere-traditional:8.5.5.12-profiledocker run #启动容器的命令,后面跟各种参数 + 容器镜像信息
--name websphere #指定启动的容器名为 websphere
-e UPDATE_HOSTNAME=true #访问websphere的ip不是localhost时需要此参数
-p 9043:9043 #指定访问端口号
-d ibmcom/websphere-traditional:8.5.5.12-profile #后台运行该镜像生成的容器 - 查看生成登录的密码: docker exec websphere cat /tmp/PASSWORD
docker exec #进入容器内部,访问容器
websphere #指定的容器名
cat /tmp/PASSWORD #输出容器内 /tmp/PASSWORD 文件中的内容 ,这条命令输出的内容就是用于登录的密码。 - 通过浏览器访问websphere: https://172.150.13.40:9043/ibm/console/login.do?action=secure
172.150.13.40 #当前虚拟机的ip地址(每个人的都不一样)
9043 #设定访问websphere的端口号 - 前面的步骤没出错,会进入如下登录页面
登录的账号和密码(登录的账号都是一样的,都是 wsadmin)
账号 : wsadmin
密码 : 1+aIMDow (就是前面使用 docker exec websphere cat /tmp/PASSWORD 命令输出的内容,每个人的都不一样)登录成功后,进入websphere主页面。
如果忘记了websphere的密码,可以使用docker exec websphere cat /tmp/PASSWORD 命令来查看登录该容器的密码,账号都统一为 wsadmin。 (websphere为容器名)
如果容器启动不正常,可以使用 docker logs -f websphere 命令来查看容器启动的日志信息,确定错误原因。(websphere为容器名)
注意:websphere启动需要的时间会比较长,所以需要参考日志的输出来判断容器是否已经启动,不能立马访问,立马访问是不会有结果的。
(2)docker安装websphere(无需账号和密码登录,并且挂载数据卷到linux主机,映射到容器使用)
- 获取镜像: docker pull ibmcom/websphere-traditional:8.5.5.12-profile
docker pull #是将镜像拉取下来的命令,后面跟的是镜像名以及镜像版本信息
ibmcom/websphere-traditional #websphere的镜像名
8.5.5.12-profile #镜像的版本,也就是websphere的版本 - 使用镜像生成容器并且启动容器:
docker run --name websphere \-h websphere \-e UPDATE_HOSTNAME=true \-p 9043:9043 \-p 9443:9443 \--restart=always \-d ibmcom/websphere-traditional:8.5.5.12-profiledocker run #启动容器的命令,后面跟各种参数 + 容器镜像信息
--name websphere #指定启动的容器名为 websphere
-e UPDATE_HOSTNAME=true #访问websphere的ip不是localhost时需要此参数
-p 9043:9043 #指定访问端口号
-d ibmcom/websphere-traditional:8.5.5.12-profile #后台运行该镜像生成的容器
3.使用docker cp命令,将容器内的../DefaultCell01目录复制到linux主机上,用于映射。
docker cp 8890fds8765f:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/DefaultCell01 /root/docker/websphere/data
将websphere容器中的 DefaultCell01目录复制到 linux主机 /root/docker/websphere/data目录下。
注意:这里对目录权限是有限制的,要将f复制到 linux主机 /root/docker/websphere/data目录下的DefaultCell01目录的UID改为与容器中的DefaultCell01目录权限UID相同。
使用命令 : ls -l # 查看目录所属者
使用命令: id 用户名 #查看用户的详细信息,比如 uid gid 等等
3.1 先进入websphere容器,查看DefaultCell01目录的所属者的uid。命令如下:
docker exec -it websphere bash #进入容器
cd /opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/DefaultCell01 #进入容器内的DefaultCell01目录
ls -l #查看DefaultCell01目录下的所有文件的详细信息,会得知所属用户为 was
id was #查看用户was的详细信息,会得知was的uid为1000
exit #退出容器,回到linux页面
3.2 进入linux的DefaultCell01目录下,更改用户的uid为1000
cd /root/docker/websphere/data #进入接收复制内容DefaultCell01文件的上一层目录
chown -R 1000:1000 DefaultCell01 #使用递归将DefaultCell01文件夹下的所有文件以及子文件的所属者的uid都更改为1000
cd DefaultCell01 #再进入DefaultCell01目录
chown -R 1000:1000 nodes #使用递归将nodes文件夹下的所有文件以及子文件的所属者的uid都更改为1000
4.停止启动的websphere容器,使用如下命令:
docker stop websphere
5.删除停止的websphere容器,使用如下命令:
docker rm websphere
6.再次启动容器,这时候需要添加-v参数来映射数据卷
docker run --name websphere-admin \
-p 9043:9043 \
-p 9443:9443 \
-h websphere-admin \
-e UPDATE_HOSTNAME=true \
-v /root/docker/websphere/data/DefaultCell01:/opt/IBM/WebSphere/AppServer/profiles/AppSrv01/config/cells/DefaultCell01 \
--restart=always \
-d ibmcom/websphere-traditional:8.5.5.12-profile
注: 使用数据卷挂载目录时, -v /本机上的目录:/容器内容的目录
例如: -v /root/docker/webpshere/data/DefaultCell01:/opt/IBM/WebSphere/DefaultCell01
意思是将本机的 /root/docker/webpshere/DefaultCell01文件中的内容挂载到容器内/opt/IBM/WebSphere/DefaultCell01目录下,如果指定的本机目录为空,则容器内指定的目录也会为空,所以需要向拷贝一份数据到本机指定被挂载的目录下。
也可以理解为将本机指定目录下的内容映射到容器内,供容器使用。
7.将linux主机上 /root/docker/webpshere/data/DefaultCell01目录下的security.xml文件中的第二行,enabled的值设置为false.
用户访问websphere时就不用再输入密码了。
使用 docker restart websphere 命令 ,重新启动websphere。
直接使用链接: https://172.150.12.32:9043/admin ,随便输入一个用户名便可以访问。
不需要密码访问的第二种方式,可以在用户使用账户和密码登录websphere以后,
选择 Security --> Global Sercurity 将 Administrative security取消选中,然后再重启websphere就可以了。
依旧使用 https://172.150.12.32:9043/admin 访问。
Docker安装websphere(四)的更多相关文章
- Docker安装Odoo实现快速迁移(四)
一. 安装postgres数据库 root@ubuntu-:~# docker run -d -e POSTGRES_USER=odoo -e POSTGRES_PASSWORD=odoo --nam ...
- Docker最全教程之Ubuntu下安装Docker(十四)
前言 Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,应用很广.本篇主要讲述Ubuntu下使用SSH远程登录并安装Docker,并且提供了Docker安装的两种方式,希望对大家有所帮 ...
- Docker 安装redis(四)
Docker 安装redis 1.搜索docker镜像(可以看到搜索的结果,这个结果是按照一定的星级评价规则排序的) docker search redis 2.拉取docker的mysql镜像(如果 ...
- [第四篇]——Windows Docker 安装之Spring Cloud直播商城 b2b2c电子商务技术总结
Windows Docker 安装 Docker 并非是一个通用的容器工具,它依赖于已存在并运行的 Linux 内核环境. Docker 实质上是在已经运行的 Linux 下制造了一个隔离的文件环境, ...
- 2. Docker - 安装
一.Docker介绍 1. Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上, 也可以实现虚拟化. 容器时完全使用沙 ...
- docker 安装
Docker使用了一种叫AUFS的文件系统,这种文件系统可以让你一层一层地叠加修改你的文件,最底下的文件系统是只读的,如果需要修改文件,AUFS会增加一个可写的层(Layer),这样有很多好处,例如不 ...
- Centos7通过Docker安装Sentry(哨兵)
Docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机制, ...
- docker安装与学习
docker学习 以ubuntu为实例 第一步检查系统内核>3.80 第二步 安装Docker 之前先更新apt-get update 在执行安装命令 apt-get install -y do ...
- Docker 安装以及运用
Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上.Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位.系统内核版 ...
随机推荐
- 程序莫名其妙的崩溃,加断点刚进入函数就崩溃,断点不往下走,读取图片数据到程序并保存到一个HBITMAP 中
HPR_INT32 CCarManageDlg::DrawPic2UIForm(IUIFormObj* pUIForm,string& strPicName){//程序崩溃的地方 HPR_IN ...
- openstack环境搭建常用命令
1,编辑/etc/selinux/config文件,关闭selinux SELINUX=disabled 2,清空iptables规则并保存 # iptables -F # service iptab ...
- NGUI中处理层级问题的几个方法总结
1.获得ui界面的UIPanel的最大层级: static int GetUIMaxDepth(Transform root) { UIPanel[] panels = root.GetCompone ...
- 获取解码字符串指定位置的数值 Decoded String at Index
2018-10-04 12:53:06 问题描述: 问题求解: 首先本题给出了问题的规模,从Note中我们可以看到解码后的字符串长度甚至可以达到2^63的长度,这个长度已经远远超过整型数的范围,因此如 ...
- (转).Net中自定义类作为Dictionary的key详解
在定义数据结构时,Dictionary提供了快速查找数据的功能,另外Dictionary< TKey, TValue >属于key-value键值对数据结构,提供了泛型的灵活性,是数据结构 ...
- C语言转义字符基础总结
C语言转义字符总结 C语言中的转义字符,是字符常量中很特别的一类.初学者容易在这方面犯错误,比如说我. 错题1 答案:C解析:每一个转义字符具有一个长度,这个字符串中:\t, \x43, \', \ ...
- 雷林鹏分享:jQuery EasyUI 窗口 - 自定义带有工具条和按钮的对话框
jQuery EasyUI 窗口 - 自定义带有工具条和按钮的对话框 您可以创建一个带有工具栏(toolbar)和按钮(button)的对话框(dialog),可以从 HTML 标记创建.这个教程描述 ...
- PHP const关键字
常量是一个简单的标识符.在脚本执行期间该值不能改变(除了所谓的魔术常量,他们其实不是常量).常量默认大小写敏感.通常常量标识符总是大写的. 可以用define()函数来定义常量.在php5.3.0以后 ...
- 【洛谷p1403 】【AHOI2005】约数研究
(有种失踪人口回归的感觉) 约束研究[传送门] (不过好像没有人注意到我这个蒟蒻) 好的不管它啦 最近学数论比较多,所以可能会有好多好多的数论题???(不存在的) 行吧上算法标签: 数论 数论 ...
- leetcode-algorithms-35 Search Insert Position
leetcode-algorithms-35 Search Insert Position Given a sorted array and a target value, return the in ...