用 docker-centos镜像 部署web项目(环境:win10-家庭版-Docker Toolbox)
1、创建镜像
1.1、创建一个centos镜像
docker pull centos
1.2、创建一个基于centos镜像的容器
docker run -dit -p 4000:8080 [centos镜像id]
1.3、将jdk、tomcat的安装包拷贝到容器并安装,安装vim(自行百度:如何在linux[centos版本] 里安装jdk、tomcat、vim)
//JDK的安装
将安装包拷贝到容器
docker cp /installpackage/jdk7u79linuxx64.tar.gz [容器id]:/[容器内某文件路径 不填就是 根目录]
进入容器
winpty docker attach [容器id]
docker attach [容器id] 此环境下 会报错 :the input device is not a TTY. If you are using mintty, try prefixing the command with 'winpty'
解压安装包
# tar -zxvf jdk7u79linuxx64.tar.gz
修改环境变量
# vim /etc/profile
添加 jdk环境变量配置
#java environment
JAVA_HOME=/jdk1.7.0_79
JAVA_BIN=$JAVA_HOME/bin
JRE_HOME=$JAVA_HOME/jre
JRE_BIN=$JRE_HOME/bin
PATH=$JAVA_BIN:$JRE_BIN:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export JAVA_HOME JRE_HOME PATH CLASSPATH
让环境变量配置生效
# source /etc/profile
测试是否安装成功
# javac
# java -version
# echo $PATH (看看刚刚配置的环境变量是否正确)
2、创建阿里云本地仓库 ( 我连的是 阿里云的影像仓库)
参考 ( https://blog.csdn.net/x15011238662/article/details/84985100 )
上教程有几个模糊的点,整理补充下:
2.1、关于sudo
sudo 不是必需的 我自己玩时 没加sudo
2.2 、关于 $ docker login --username=[阿里云登录账号] registry.cn-shenzhen.aliyuncs.com 指令 的Password
Password 不是阿里云的登录密码 是在右图设置的
2.3、仓库设为私有 不影响自己pull刚push的image
3、从阿里云拉取上传的镜像并启动服务
$ docker pull [镜像名]:[镜像版本]
$ docker run -dit -p 4000:8080 [镜像id]
$ winpty docker attach [容器id]
[root@6a265e98c1f2 /]# source /etc/profile (不执行这句 直接启动tomcat 启动失败 说没安装JDK)
启动tomcat
http://192.168.99.100:4000/