Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
官网:https://www.docker.com/
文档:https://docs.docker.com/
hub:https://hub.docker.com/
Docker 安装\卸载
安装Docker
/var/lib/docker 是docker默认的安装路径
# 1、卸载旧版本
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
# 2、安装
yum install -y yum-utils
# 3、配置镜像仓库(推荐选阿里云镜像,速度快!)
yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo # 默认是国外的
yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 阿里云的
# 更新yum软件包索引
yum makecache fast
# 4、安装docker 相关 docker-ce 社区版 docker-ee企业版
yum install docker-ce docker-ce-cli containerd.io
# 5、启动docker
systemctl start docker
# 6、查看docker版本
docker version
安装完成后可以看到docker的版本信息
接下来测试Docker,运行官方给的hello world示例进行测试(会先在远程仓库拉去镜像,再运行)
# 7、hello world
docker run hello-world
到这Docker 的安装和测试就已经完成了!!!!!!!!
卸载Docker
# 9、卸载docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
链接: Docker 常用命令.
Docker上部署一个SpringBoot项目(含MySql)
一、先在Docker 上完成 MySql 的启动和配置
拉取 MySql 5.7 版本的镜像
docker pull mysql:5.7
此时可以在本地的镜像仓库中查看到已经拉取下来的mysql
运行mysql镜像(创建容器)
docker run -d -p 3306:3306 -v mysql_conf:/etc/mysql/conf.d -v mysql_data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql01 mysql:5.7
参数说明:
-d 后台运行
-p 端口映射
-v 卷挂载
-e MYSQL_ROOT_PASSWORD=123456 配置mysql登录密码:[123456]为密码
-name 容器的名字
查看mysql容器已经启动
导入mysql数据库文件.sql (也可以使用本地工具连接服务器的mysql进行创新数据库)
.sql文件需要保存在mysql容器内部,之前运行时使用了卷挂载的技术,所以将.sql文件放在当前linux系统下的对应目录下,数据即可和容器共享
查看卷挂在的目录
进入该目录,将.sql文件放到该目录下
执行容器,进入mysql,导入数据库
docker exec -it mysql01 /bin/bash
.sql文件已经导入完成。
二、Dockerfile构建(将jar包构建成一个镜像)
项目打包
使用Maven工具打包,先clean --> package
创建Dockerfile文件
FROM java:8
VOLUME /tmp
ADD application-form-1.0-SNAPSHOT.jar app.jar
EXPOSE 80
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
上传文件到linux系统上
自己创建一个文件夹,用于保存此项目相关的文件
构建Dockerfile
docker build -t application-form:1.0 .
后面的 . 不要忘记加
第一次构建需要下载java8环境,会比较慢,运行完成后可以在本地镜像仓库中看到已经构建好的镜像
运行application-form镜像(创建容器)
docker run -d -p 80:80 --name application-form01 application-form:1.0
三、在浏览器中查看
用户登录成功,mysql配置没有问题