1. 基本的概念和命令
仓库:存放docker镜像的地方。
镜像:启动docker容器的,类似于安装包。
容器:可以运行各种应用的东西。
systemctl start docker 启动docker
docker run -d -p 8080:8080 --name tomcat tomcat:8.5.53 启动容器
docker run [option] --name 容器化后的名字 本地镜像的名字
docker ps -a 正在运行的docker容器
docker images 显示本地所有的镜像
docker exec -it tomcat /bin/bash 进入到容器下面
docker rm tomcat 删除容器
docker 在访问的时候需要进行端口映射,如下图:
平时部署项目和docker部署项目的区别,如下图:
示例:安装mysql
docker run -d -p 3306:3306 --name mysql mysql:5.6.47
命令解释:
1. 检查本地的镜像是否有mysql版本,如果没有,先去docker pull,
2. 执行docker run
2. 为什么要用docker化
项目docker 化。
可以直接把测试环境复制到生产环境,或者测试环境。
Dockerfile 存放的是dockerfile的命令
from 基础镜像 jdk对tomcat就是基础镜像
add 可以帮你加压
copy 直接copy 需要自己解压
run tar xvzf nginx.tar.gz
run mv ./nginx ./
workdir == cd
expose 暴露端口
容器启动后第一条执行的命令
构建自己的镜像
1. 将jar包上传Linux
2. docker build 构建自己的镜像
3. 构建完在自己的本地仓库
4.
用,分开,启动的时候放到数组进行组合。
5. 看本地镜像有什么
docker images
docker build -t(标签) docker_demo .(Dockerfile)
6. docker images
7. docker_demo 就生成了。
8. docker run -d -p 8080:8080 --name webapp docker_demo 启动容器
9. docker rmi docker_demo
10. 第二步和第三步可以不用
3. docker集群化部署
docker_demo 一键部署
docker swarm init 集群初始化
所有的指令在manager上执行
init 先有一个manager节点
init 加入集群
leave
docker node ls 显示所有集群
1. 提交私人镜像到中央仓库 docker push ->docker hub
2. docker service ls 查询服务构建
3. docker service create --replicas(节点) 5 -p 8080:8080 --network appnet --network bridge --name webapp(服务名) sofighter/app_web (镜像名)
4. docker service ps webapp
负载均衡
docker inspect imageId|grep ip 诊断
自动创建虚拟ip IVPS
扩容
docker servcie scale webapp=15
docker service ps webapp
缩容
docker service scale webapp=5
k8s+docker
CI/CD 持续集成 持续发布
docker-compose docker编排服务