Docker学习笔记之-安装部署

Docker学习笔记之-安装部署

 

好久没写博客了,最近客户不知道从哪儿学习到了新姿势,要求我们的项目必须在docker中部署,所以就有了我这篇笔记。本人是小白一枚之前没有搞过什么docker容器化部署,这篇笔记用于分享自己的一些经历,欢迎拍砖,如遇大牛希望再指点一二。

 

第一步:安装部署docker环境

         我的测试环境是在Windows系统,所以也是在Windows环境下的docker安装。

  1. 安装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镜像

  1. 拉取mysql镜像

docker pull mysql:5.7.23

然后查看本地镜像 docker images -a

  1. 创建容器

docker run --name dockermysql  -p 3307:3306 -e MYSQL_ROOT_PASSWORD=654321 mysql:5.7.23

然后查看容器 docker ps

  1. 进入交互模式

docker exec -it dockermysql bash

如果本机以外访问不了mysql请参考最后一节常用命令“测试MySQL数据库”

  1. 然后退出

Exit

  1. 结果

 

第三步:部署java程序

  1. 打包自己的springboot项目

 

  1. 创建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

 

  1. 将Dockerfile和SmartSite-1.0.0.jar上传到指定目录

  1. 运行构建镜像命令

docker build -t specified .

  1. 查看镜像

  1. 启动镜像

docker run --name smartsite -p 4567:9092 -it -d b9f08c955cf3 /bin/bash

  1. 进入容器

docker exec -it smartsite bash

  1. 启动springboot项目

骚年打开浏览器测试你的项目吧

 

第四步:常用命令

  1. 常用命令
  1. 拉取镜像

docker pull mysql:5.7.23

  1. 查看已经拉取的镜像

docker images -a

  1. 删除已经拉取的镜像

停止所有的container,这样才能够删除其中的images:

docker stop $(docker ps -a -q)

删除images,通过image的id来指定删除谁:

docker rmi <image id>

  1. 创建容器

docker run --name dockermysql  -p 3307:3306 -e MYSQL_ROOT_PASSWORD=654321 mysql:5.7.23

  1. 查看容器

docker ps

  1. 删除容器

docker rm -f dockermysql

  1. 启动/停止容器

docker start dockermysql  /  docker stop dockermysql

  1. 退出

exit

  1. 进入容器进行交互

docker exec -it dockermysql bash

  1. 测试mysql数据库

启动数据库服务

service mysql start

连接进入数据库

mysql -u root -p

操作数据库

show databases;

授权:

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '654321' WITH GRANT OPTION;

刷新

flush privileges;

  1. 打包mvn工程为jar包

mvn package

  1. 创建Dockerfile(参数自己调整)

  1. 将Dockerfile和SmartSite-1.0.0.jar上传到指定目录

  1. 运行构建镜像命令

docker build -t specified .

  1. 查看镜像

docker images -a

  1. 启动镜像,部署完成

docker run --name smartsite -p 4567:9092 -it -d b9f08c955cf3 /bin/bash

  1. 启动容器

docker start smartsite / docker stop smartsite / docker rm -f smartsite

  1. 进入容器

docker exec -it smartsite bash

  1. 启动springboot项目

java -jar /app.jar &

 

 

最后:如果有时间再写一篇Linux下自动化部署

没有更多推荐了,返回首页