docker 就是一个容器,用来打包项目,批量发行用的,基于linux服务器linux ,可以看作集装箱式隔离
linux服务器=linux内核+文件系统
docker服务=linux内核共享+自己的文件系统
首先安装Docker,比较简单
1、安装依赖docker依赖于系统的一些必要的工具,可以提前安装。
yum install -y yum-utils device-mapper-persistent-data lvm2
2、添加软件源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
3、安装
docker-ceyum clean allyum makecache fastyum -y install docker-ce
4、启动服务通过systemctl
启动服务systemctl start docker
5、查看安装版本这样子就安装成功了,启动服务以后可以使用docker version查看一下当前的版本。
docker version
6、 查看docker服务状态systemctl status docker
更换镜像仓库
由于外网比较缓慢,这里更换镜像仓库为阿里云的
1、linux下创建文件
/etc/docker/daemon.json
2、编辑,加入地址
{ "registry-mirrors": ["https://9cpn8tt6.mirror.aliyuncs.com"]}
3、重启docker
[root@localhost ~]# systemctl daemon-reload
[root@localhost ~]# systemctl restart docker
安装mysql
docker pull mysql #拉去镜像
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/data:/var/lib/mysql -v $PWD/logs:/logs --name test_mysql mysql:5.6
参数说明
-d 让容器在后台运行
-p 3306:3306 将容器的 3306 端口映射到主机的 3306 端口
-e 设置环境变量,这里是设置mysql的root用户的初始密码,这个必须设置
-v $PWD/conf:/etc/mysql/conf.d 将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf
-v $PWD/data:/var/lib/mysql 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
-v $PWD/logs:/logs 将主机当前目录下的 logs 目录挂载到容器的 /logs
–name 容器的名字,随便取,但是必须唯一
docker stop mysql 关闭容器服务
docker start mysql 开启容器服务
我们可以将linux上的某个文件夹通过-v参数指定的方式指定到容器的某个文件夹,比如发布ssm项目时需要的war。
进入容器内部命令
docker exec -it tomcat /bin/bash
docker的口号施一次打包,处处发布,仅仅上面这些还是不够便捷,我们可以实战一下
打包发布boot项目
1、编写项目根目录下dockerfile文件
FROM openjdk:8-jdk-alpine //指定基础容器
COPY ai_farm-0.0.1-SNAPSHOT.jar app.jar //重命名
EXPOSE 8080
ENTRYPOINT ["java","-jar","/app.jar","--spring.profiles.active=test"]
2、连接Linuk服务器,并新建一个文件夹,将jar文件和Dockerfile放入文件夹中
3、使用如下命令新建镜像
docker build -t sprngbootJar . //.号表示当前目录
4、查看镜像
docker images
也可以使用maven插件直接打包发布项目