Docker学习笔记之-安装部署
Docker学习笔记之-安装部署
好久没写博客了,最近客户不知道从哪儿学习到了新姿势,要求我们的项目必须在docker中部署,所以就有了我这篇笔记。本人是小白一枚之前没有搞过什么docker容器化部署,这篇笔记用于分享自己的一些经历,欢迎拍砖,如遇大牛希望再指点一二。
第一步:安装部署docker环境
我的测试环境是在Windows系统,所以也是在Windows环境下的docker安装。
- 安装Windows版docker桌面应用程序
官方下载地址:
https://www.docker.com/products/docker-desktop
嫌慢的小伙伴可以在我网盘下载:
链接:https://pan.baidu.com/s/1Hzn__BLhOz4w0T5UqcHWfg
提取码:edat
下载完成后就是一路Next的安装过程,就不一一截图了,但是有个地方需要注意:
需要BIOS开启工作站的虚拟化支持,具体的开启方式参考度娘或谷哥。
安装完成后再你的桌面能看到这样一个鲸鱼图标,按照提起启动docker
然后管理员方式启动Windows PowerShell,执行 docker –version 查看是否安装成功
第二步:部署云端已有的MySQL镜像
- 拉取mysql镜像
docker pull mysql:5.7.23
然后查看本地镜像 docker images -a
- 创建容器
docker run --name dockermysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=654321 mysql:5.7.23
然后查看容器 docker ps
- 进入交互模式
docker exec -it dockermysql bash
如果本机以外访问不了mysql请参考最后一节常用命令“测试MySQL数据库”
- 然后退出
Exit
- 结果
第三步:部署java程序
- 打包自己的springboot项目
- 创建Dockerfile
# jdk 是一个已有的包含 jdk 的镜像
FROM hub.c.163.com/library/java
# 作者签名
# 简化 jar 的名字路径 (#:表示注释掉)
COPY SmartSite-1.0.0.jar /app.jar
# 执行 java -jar 命令 (CMD:在启动容器时才执行此行。RUN:构建镜像时就执行此行)
CMD java -jar /app.jar
# 设置对外端口为 9092
EXPOSE 9092
- 将Dockerfile和SmartSite-1.0.0.jar上传到指定目录
- 运行构建镜像命令
docker build -t specified .
- 查看镜像
- 启动镜像
docker run --name smartsite -p 4567:9092 -it -d b9f08c955cf3 /bin/bash
- 进入容器
docker exec -it smartsite bash
- 启动springboot项目
骚年打开浏览器测试你的项目吧
第四步:常用命令
- 常用命令
- 拉取镜像
docker pull mysql:5.7.23
- 查看已经拉取的镜像
docker images -a
- 删除已经拉取的镜像
停止所有的container,这样才能够删除其中的images:
docker stop $(docker ps -a -q)
删除images,通过image的id来指定删除谁:
docker rmi <image id>
- 创建容器
docker run --name dockermysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=654321 mysql:5.7.23
- 查看容器
docker ps
- 删除容器
docker rm -f dockermysql
- 启动/停止容器
docker start dockermysql / docker stop dockermysql
- 退出
exit
- 进入容器进行交互
docker exec -it dockermysql bash
- 测试mysql数据库
启动数据库服务
service mysql start
连接进入数据库
mysql -u root -p
操作数据库
show databases;
授权:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '654321' WITH GRANT OPTION;
刷新
flush privileges;
- 打包mvn工程为jar包
mvn package
- 创建Dockerfile(参数自己调整)
- 将Dockerfile和SmartSite-1.0.0.jar上传到指定目录
- 运行构建镜像命令
docker build -t specified .
- 查看镜像
docker images -a
- 启动镜像,部署完成
docker run --name smartsite -p 4567:9092 -it -d b9f08c955cf3 /bin/bash
- 启动容器
docker start smartsite / docker stop smartsite / docker rm -f smartsite
- 进入容器
docker exec -it smartsite bash
- 启动springboot项目
java -jar /app.jar &
最后:如果有时间再写一篇Linux下自动化部署