目录
一、安装docker及javaweb
原文:
http://www.cnblogs.com/zhouyalei/p/6390979.html
http://www.cnblogs.com/zhouyalei/p/6390963.html
- 安装wget
yum install wget
- 备份更新源 文件
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
- 替换阿里云镜像源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
- 生成缓存
yum makecache
- 更新系统
yum update
- 开始安装docker
yum install docker-io
- 启动docker服务
service docker start
- 配置镜像加速器
sudo mkdir -p /etc/docker
sudo vim /etc/docker/daemon.json
{
"registry-mirrors": ["https://demx60ug.mirror.aliyuncs.com"]
}
sudo systemctl daemon-reload
sudo systemctl restart docker
- 在本地登录阿里云镜像仓库
docker login [email protected] registry.cn-shenzhen.aliyuncs.com
- 下载一个centos
docker pull centos
- 把下载好的jdk和tomcat拷到宿主机/docker/java目录下并解压,重命名
mkdir -p /docker/java
tar -zxf jdk-10.0.1_linux-x64_bin.tar.gz -C .
tar -zxf apache-tomcat-9.0.8.tar.gz -C .
rm -rf jdk-10.0.1_linux-x64_bin.tar.gz
rm -rf apache-tomcat-9.0.8.tar.gz
mv jdk-10.0.1/ jdk/
mv apache-tomcat-9.0.8/ tomcat/
- 创建Dockerfile
cd /docker/java
vim Dockerfile
#使用的基础镜像
FROM docker.io/centos:latest
#作者信息
MAINTAINER eno1a "[email protected]"
#创建目录
RUN mkdir -p /docker/java/jdk10.0.1
#把当前目录下的jdk文件夹添加到镜像
ADD jdk /docker/java/jdk10.0.1
#创建tomcat目录
RUN mkdir -p /docker/java/apache-tomcat-9.0.8
#把当前目录下的tomcat文件夹添加到镜像
ADD tomcat /docker/java/apache-tomcat-9.0.8
#添加环境变量
ENV JAVA_HOME /docker/java/jdk10.0.1
ENV CATALINA_HOME /docker/java/apache-tomcat-9.0.8
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/bin
#暴露8080端口
EXPOSE 8080
#启动时运行tomcat
CMD ["/docker/java/apache-tomcat-9.0.8/bin/catalina.sh","run"]
- 创建镜像
docker build -t local/javaweb:latest .
- 启动容器(挂载宿主机目录为webapp下的app目录)
docker run -d -p 8088:8080 --name my_javaweb -v /docker/app:/docker/java/apache-tomcat-9.0.8/webapps/app local/javaweb:latest
二、安装mysql
原文:
https://blog.csdn.net/uk8692/article/details/49386679
https://blog.csdn.net/qq362228416/article/details/48709813
https://blog.csdn.net/qq_19707521/article/details/80226321
- 下载mysql镜像
docker pull mysql
- 运行mysql容器(挂载数据库数据到宿主机(持久化))
docker run -d --name=mysql_1 -it -p 3306:3306 -v /docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 docker.io/mysql
- 进入容器
docker exec -it mysql_1 /bin/bash
- 登录mysql
mysql -u root -p
- 在容器中执行以下sql即可用navicat登录数据库
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456';