制作基于centos可以ssh连接的容器以及tomcat容器
可以ssh连接的centos容器
参考:http://blog.csdn.net/mexel310/article/details/51705777
一. pull好镜像后,运行容器
1. docker run -d -it <imageID> /bin/bash
-i:表示以“交互模式”运行容器
-t:表示容器启动后会进入其命令行
这样就能启动一个一直停留在后台运行的Centos了。如果少了/bin/bash的话,Docker会生成一个Container但是马上就停止了,不会一直运行,即使有了-d参数。
2. 然后我们可以进入我们这个Centos
docker attach <ContainerID>
或者使用
docker exec -it <容器名或者ID> /bin/bash
二. 安装基本网络组件
进入Centos后,发现竟然没有ifconfig和ssh
1. ifconfig的安装
yum search ifconfig # 查看需要安装那个软件包
手动执行/usr/sbin/sshd-keygen -A
再执行/usr/sbin/sshd成功。
三. 将端口映射到宿主机
Ctrl+P+Q #退出,但不停止容器
docker stop <容器ID> #回到Docker下面,停止容器
docker commit <容器ID> <NAME/VERSION> #提交当前容器到镜像
docker run -itd -p 50001:22 <刚才提交的镜像ID> /bin/bash #启动新容器,并且进行端口映射
我这里就是192.168.99.100:50001
四. 写成一个dockerfile的形式,如下
FROM centos
MAINTAINER hong "1816635208@qq.com"
RUN yum -y install openssh-server;yum clean all
RUN mkdir /var/run/sshd
RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key
RUN /bin/echo 'root:123456'|chpasswd
RUN /bin/sed -i 's/.*session.*required.*pam_loginuid.so.*/session optional pam_loginuid.so/g' /etc/pam.d/sshd
RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" > /etc/default/locale
EXPOSE 22 #暴漏容器端口22
CMD /usr/sbin/sshd -D
生成镜像:docker build -t hong/centos:ssh .
创建容器:docker run -d -P --name ssh_test hong/centos:ssh # -P表示随机分配宿主机端口号到容器的22端口
docker搞一个tomcat
1. 把上面网页中的内容编写成dockerfile文件如下
FROM centos
ADD ./webapps /opt/tomcat/webapps/ #ADD命令只能用于dockfile所在文件夹的文件或目录
ADD ./apache-tomcat-7.0./ /opt/tomcat/ #下载tomcat和jdk到dockerfile所在文件夹
ADD ./jdk1..0_80/ /opt/jdk
ADD ./run.sh /root
RUN chmod +x /root/run.sh
EXPOSE
生成镜像:docker build -t tomcat_test1 .
2.生成容器:
1)命令行生成方式:docker run -d -p 58090:8080 --name my_tomcat tomcat_test1 /root/run.sh
2)docker-compose.yml 自动生成,命令为docker-compose up -d,如果修改了文件内容,重新生成的命令为docker-compose -d --build
tomcat:
build: .
#image: tomcat_test1 同时使用build和image可以自定义镜像名
ports:
- "48080:8080"
restart: always
container_name: tomcat2
command: /root/run.sh
其中run.sh的内容如下
#!/bin/bash export JAVA_HOME=/opt/jdk/
export PATH=$JAVA_HOME/bin:$PATH sh /opt/tomcat/bin/catalina.sh run
制作基于centos可以ssh连接的容器以及tomcat容器的更多相关文章
- maven这些工具负责创建项目,然后maven负责打包好war包扔进tomcat容器,tomcat容器接受的只是jar包
maven这些工具负责创建项目,然后maven负责打包好war包扔进tomcat容器,tomcat容器接受的只是jar包 2.tomcat不管你什么编译的,也不管你开发工具是什么.Tomcat只接受w ...
- 从0到有,虚拟机安装centos,然后ssh连接虚拟机
安装centos 1.下载centos镜像 https://mirrors.aliyun.com/centos/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1.i ...
- Centos上SSH连接过慢原因
最近发现机房里有些centos机器进行ssh登陆非常慢且会超时,经过查看发现时GSPI认证过慢问题造成: 使用 ssh -v 发现 debug1: SSH2_MSG_SERVICE_ACCEPT re ...
- 使用Dockerfile文件制作centos6.8基础镜像,基于centos基础镜像的ssh远程登录镜像,jdk1.8镜像,tomcat镜像,elasticsearch镜像等等
一.首先制作一个centos6.8的裸机镜像 创建一个干净的目录: [root@docker centos6.]# ls c68-docker.tar.xz Dockerfile Dockerfile ...
- 烂泥:【解决】Ubuntu下使用SSH连接centos系统很慢
本文由秀依林枫提供友情赞助,首发于烂泥行天下. 这几天在Ubuntu下使用SSH连接centos系统,发现连接很慢.建议一个连接大约需要30s.很是坑爹,如下: 后来查询相关资料,发现这个是Ubunt ...
- 001. 使用ssh连接不上centos 6.5的解决方法及其解决中文乱码
1. 使用ssh连接不上centos 6.5的解决方法: 错误显示: Connecting to 192.168.1.106:22... Could not connect to '192.168.1 ...
- SSH连接不上CentOS 主机配置文件导致的原因的解决方法
一.CentOS之SSH的安装与配置 SSH 为 Secure Shell 的缩写,由 IETF 的网络工作小组(Network Working Group)所制定SSH 为建立在应用层和传输层基础上 ...
- [转]python3之paramiko模块(基于ssh连接进行远程登录服务器执行命令和上传下载文件的功能)
转自:https://www.cnblogs.com/zhangxinqi/p/8372774.html 阅读目录 1.paramiko模块介绍 2.paramiko的使用方法 回到顶部 1.para ...
- ssh连接虚拟机centos
ssh连接虚拟机centos 虚拟机下CentOS7开启SSH连接 注意:安装虚拟机的时候,网络一定选择桥接模式.
随机推荐
- 在zookeeper集群的基础上,搭建伪solrCloud集群
伪集群的搭建:将solrCloud搭建到同一台机器上. 准备工作 1 将在window中部署的单机版solr上传到服务器(虚拟机)中 solr的简单部署:在tomcat中启动slor 的内容 这一次放 ...
- KVC的底层实现原理
KVC是OC特有的,本质是在运行时动态的给对象发送setValue:forKey 消息,设置数值 -调用super.init 保证对象已经被创建完成 .当给对象发送setValue:forKey 消息 ...
- ubuntu14.04 64 位 vmware tools 问题
当提示说open-vm-tools版本太低时可以这样解决 1.sudo apt-get autoremove open-vm-dkms open-vm-tools --purge 2.安装vmware ...
- c++ static笔记
[转]http://www.cnblogs.com/zi-xing/p/4590282.html static的作用 在函数体,一个被声明为static的变量,在这一函数被调用的过程里,其数值维持不变 ...
- linux环境下搭建osm_web服务器三(Openlays和slippymap):
Openlays和slippymap 上一步,我们已经有了自己的地图瓦片服务器,现在,开始实现SlippyMap啦! <1>下载释放OpenLayers到 www文件夹 SlippyMap ...
- Source Insight: has been changed outside of Source Insight
has been changed outside of Source Insight 2018年04月26日 09:41:01 linux_c_coding_man 阅读数:247 摘自:https: ...
- ethtool -p eth0 物理口一个灯在不停的闪烁
摘自:https://blog.csdn.net/morigejile/article/details/78598645 你的 服务器有多个网卡并且已经配置好运行当中,你却没记得eth0.eth1. ...
- 利用Ant与Proguard混淆
利用Ant与Proguard混淆 摘自:https://blog.csdn.net/forlong401/article/details/22956711 2014年04月04日 20:20:21 f ...
- functions函数插件的定义和使用
创建Smarty插件:在插件目录(plugins)里新建文件 类型.插件名.php文件,然后插件方法名字书写规范: smarty_类型_插件名([...]){}在模板(tpl文件)中调用插件时格式{插 ...
- ceph的image扩容
root@ceph01:/etc/ceph# rbd create --size 1024 test root@ceph01:/etc/ceph# root@ceph01:/etc/ceph# roo ...