一、准备环境
1、当前目录
jdk解压包 目的是add到容器中
tomcat解压 目的是add到容器中
Dockerfile文件 创建镜像配置文件
Dockerfile:
#基于 centos:6 镜像 FROM centos:6 #信息 MAINTAINER hxguang <[email protected]> #安装 ssh-server ,vim RUN yum install -y openssh-server vim sudo RUN sed -i 's/UsePAM yes/UsePAM no/g' /etc/ssh/sshd_config # 添加测试用户admin,密码admin,并且将此用户添加到sudoers里 RUN useradd admin RUN echo "admin:admin" | chpasswd RUN echo "admin ALL=(ALL) ALL" >> /etc/sudoers # 下面这两句比较特殊,在centos6上必须要有,否则创建出来的容器sshd不能登录 RUN ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key RUN ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key #把java与tomcat添加到容器中 ADD jdk1.7.0_80 /usr/local/jdk1.7.0_80 ADD apache-tomcat-7.0.73 /usr/local/tomcat #配置java与tomcat环境变量 ENV JAVA_HOME /usr/local/jdk1.7.0_80 ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar ENV PATH $PATH:$JAVA_HOME/bin #暴露端口 EXPOSE 22 8080 #启动tomcat ENTRYPOINT /usr/local/tomcat/bin/startup.sh && tail -f /usr/local/tomcat/logs/catalina.out #启动容器ssh服务 CMD service sshd start
2、创建镜像
docker build -t="tomcat:v1" --rm=true .
说明:
build 创建命令
tomcat:v1 镜像名称 v1是标签
--rm=true 创建过程中删除中间容器
. 表示Dockerfile文件在当前目录
3、通过镜像启动容器
docker run -d -i --name tomcat7 -p 5000:8080 -p 6000:22 tomcat:v1
说明:
-d 以守护经常启动
--name [容器名称]
-p [宿主主机端口]:[容器端口] (端口映射)
tomcat:v1 镜像名
4、查看
docker ps
可以看到容器已启动
通过浏览器:http://IP:5000访问
ssh通过通过命令: ssh admin@[容器IP] 或 ssh admin@IP -p 6000 (密码:admin)
ps: 1、容器IP,可通过命令:docker inspect 容器ID
2、如果访问不了ssh :要进入容器启动ssh服务:分两步
a、进入容器命令: docker exec -it tomcat7 /bin/bash
b、进入之后命令: service sshd start