2019-03-13 初识docker
2019-03-13 本文已影响0人
江江江123
docker
更为方便的运维方式,创建虚拟机,下载,启动服务,创建集群。极大的简化了运维流程
docker-machine 用于操作虚拟机
docker-machine ssh 用于连接虚拟机,与vmvare的区别,machine生成的虚拟机已经默认设置好了很多
docker-compose 用于微服务批量操作
由于docker-compose 只能操作本机,所以有了k8s集群批量部署
docker network 操作容器网段
重新生成证书
docker-machine regenerate-certs default
重启
docker-machine restart default
解决
docker怎么操作其他虚拟机
docker-machine ssh nodename docker images //查看nodename下的镜像
docker 用于虚拟机内部的命令
docker pull xx拉取镜像
docker images 查看已有镜像
docker run 运行
docker ps -a 查看全部
docker stop name or id 停止
docker rm name or id 移除
集群
设置管理节点
docker-machine ssh manager1 docker swarm init --listen-addr 192.168.99.102:2377 --advertise-addr 192.168.99.102 //设置集群 ip为manager1的ip
添加子节点
docker-machine ssh worker1 docker swarm join --token SWMTKN-1-09358eighvl76k7vthzx8o7o4kqyhsiuxwglg1ee0icmcmogq5-3sm4
gplcvwxe4121u8kocta2e 192.168.99.102:2377
//docker swarm开始 。。都是创建manger后生成的
踩坑
docker-machine ssh name 连接虚拟机后,进入操作页面。由于docker创建虚拟机回自动添加需要东西,所以在根目录下看见一些奇怪的文件不要乱删。。可能是你本机中的文件。
docker 默认创建的虚拟机ip是100递增。。如果删掉了中间的虚拟机,电脑重启后会重新分配ip
这时候需要重新生成证书。
启动springboot项目
1.下载java环境
docker pull openjdk
2.创建文件夹
mkdir -p ~/app
cd ~/app
3.添加打包文件
3.1添加需要启动的jar包
3.2vi Dockerfile
FROM openjdk:latest #打包的java环境
ADD RegionalMedical-web-1.0.0.jar app.jar #jar包
EXPOSE 8080 #端口号
ENTRYPOINT ["java","-jar","/app.jar"]
4.打包
docker build -t 镜像名称 .
#注意后面有个点
5.查看启动
docker images
docker run -d -p 8080:8080 镜像名称
6 :访问192.168.99.100:8080 成功
7:坑
7.1由于docker是搭建再win10系统上,本地文件jar没有问题,但是其他用户无法访问
解决方法:
管理员权限运行cmd
查看ip
在win10上配置转发
ipconfig
netsh interface portproxy add v4tov4 listenaddress=ip地址 listenport=8080 connectaddress=192.168.99.100 connectport=80
7.2 不知道是因为异常退出还是调整了docker容器大小,造成images 下镜像全部丢失。。绝望