Part 1 安装docker容器
如果你的系统没有安装docker容器,可以参考以下操作:
-
确定你的系统操作系统及版本 CentOS7及以上版本
cat /etc/redhat-release
-
确保你的系统没有安装过docker容器,否则,需要卸载旧版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
-
yum安装gcc相关
yum -y install gcc yum -y install gcc-c++
-
安装需要的软件包
yum install -y yum-utils
-
设置stable镜像仓库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
-
更新yum软件包索引
yum makecache fast
-
安装DOCKER CE
yum -y install docker-ce docker-ce-cli containerd.io
-
启动docker
systemctl start docker
-
查看docker版本
docker version
至此,docker容器安装成功
Part 2 docker容器常用命令
-
查看docker容器的所有镜像
docker images
-
查看docker的运行状态
systemctl status docker
-
启动docker
#启动docker之前最好先查看docker的运行状态 systemctl start docker
-
关闭docker
systemctl stop docker
-
拉取docker云仓库的镜像
docker pull 镜像名字[:TAG] 举例:docker pull mysql:8.0.26 没有TAG就是最新版 举例:docker pull mysql 拉取最新版mysql
-
编写DockerFile文件并构建成新的版本镜像
docker build -t 新镜像名字:TAG . 注意,上面TAG后面有个空格,有个点 举例: docker build -t qin_docker:1.1 .
-
运行容器简单版
docker run -d -p 9000:9000 qin_docker:1.1 第一个9000为主机映射端口;第二个9000为docker容器端口
-
运行容器进阶版
docker run -d -p 3306:3306 --privileged=true -v /qin/mysql/log:/var/log/mysql -v /qin/mysql/data:/var/lib/mysql -v /qin/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:8.0.26
命令说明: --name mysql 给运行的容器起个名字,方便以后启动或停止(docker stop mysql表示停止该容器的进程),mysql容器实例一起存在,只要执行命令(docker start mysql 即可重新启动该容器实例) --privileged=true -v /qin/mysql/log:/var/log/mysql -v /qin/mysql/data:/var/lib/mysql -v /qin/mysql/conf:/etc/mysql/conf.d -e
开启容器数据卷实现主机和docker容器文件同步映射,任何一方文件的改变均会同步影响另一方
-
查看当前docker运行的容器实例
docker ps
总结:
-
初学者很容易弄混docker镜像和docker运行实例;
-
docker images 指令展示的docker的所有镜像,即docker容器上有多少可以运行的镜像;
-
docker ps 指令展示的是当前docker容器正在运行的容器实例。
-
说明:一个镜像可以运行无数个docker实例。(其实这也是docker的精妙之处)
Part 3 java Springboot项目打包成jar包并部署到docker容器
-
java jar包类型的项目部署到服务器
-
准备mysql数据库环境,配置MySQL文件(如果需要导入数据库,可以通过navicat工具进行远程连接,并新建数据库,运行sql文件),后续分享如何利用docker安装mysql主从复制
-
准备redis环境,配置redis的配置文件(后续分享如何利用docker安装redis集群)
-
将最新项目的jar包放到 Dockerfile 文件相同目录下
-
目前位置举例说明:
-
-
Dockerfile文件已全部配置好,无需任何修改,除了修改端口号或者更改jar包名
-
Dockerfile文件内容
-
然后,直接生成新的镜像,注意名字和版本号不用跟docker镜像冲突即可。
docker build -t 新镜像名字:TAG . 举例:docker build -t qin_docker:2.1 .
生成镜像成功后,执行docker images 查看镜像是否生成成功
-
运行你的新镜像实例
docker run -d -p 9000:9000 qin_docker:2.1
总结:
第一步,将要部署的项目重新打包成jar包
第二步,将新打包的jar包 放到 Dockerfile 文件相同目录下,重新生成新的镜像
第三步,编写Dockerfile 文件(举例项目已写好)
第四步,启动mysql和redis实例(可以提前做),即运行项目所需环境
第五步,运行新的镜像实例
第六步,docker ps 查看三个镜像实例是否都存在,存在即完成。