docker学习笔记
小鲸鱼docker领养笔记
为什么要用Docker
开源
可移置,我们打包好后就可以在liux上运行,不受环境影响
虚拟化 服务器别的系统卡了,不影响我们的
方便部署 节省了生产环境的部署时间,以后我们的现场程序有问题就可以排除环境问题,一定是他手不行
Cpu开启虚拟化
打开任务管理器,查看cpu是否支持虚拟化
如果没有启用虚拟化,进入bios系统。
每个电脑进入bios的快捷键不一样,下面是hp的
Hp电脑,开机后,按 esc 进入bios设置》》系统设置》》勾选
Virtualization technology
Virtualization technology for directed
开启hyper-v
执行win+r 输入dxdiag 查看windows 版本,如果版本号超过14393,可以跳过这个步骤
右键 windows 图标
选择 程序和功能
选择 启用或关闭windows功能
勾选hyper-v
Download
Win10以前的版本需要下载docker tools win10不需要
官网上下载特别慢,而且下载docker需要登录,比较变态
可以选择从下面的连接去下载
https://oomake.com/download/docker-windows
但是,我的电脑虽然也是win10企业版,但是小版本不够,还是需要装docker tools
docker tools
如果已经安装git 把最后一个勾选去掉
http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
运行docker quickstart terminal
点击 docker quickstart terminal
右键
目标中修改git目录
“D:\Git\bin\bash.exe” --login -i “D:\tools\Docker\Docker Toolbox\start.sh”
参考
https://blog.csdn.net/A632189007/article/details/78601213
然后 再次打开 docker quickstart
可能会出现下面的错
Docker tools 的安装目录下有boot2docker.iso
清空下面路径的文件,粘到里面
C:\Users\Administrator.docker\machine\cache
然后一定要把网关了,要不它还会下载
再继续点击 docker quickstart
然后可呢个会出现下面的错误,这个就是因为,我的win10版本低,还开了hyper-v,需要把hyper-v关闭
Error creating machine: Error in driver during machine creation: This computer doesn’t have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory
然后,终于可以看见docker的样子了
Docker环境
Docker终于安装好了
我们可以在cmd中看看docker环境
Doker-machine env 查看docker环境
这里有一个默认的default环境,名字看着很low ,想修改他的名字,我不会
但是可以把它删掉,在创建一个
Docker-machine rm default
新建 xxx 是阿里云的镜像服务 每个人的不一样 需要注册找好后 阿里云给你提供
docker-machine create --engine-registry-mirror=XXXXX -d virtualbox docker
查看所有的docker
docker-machine ls
坑:我删除default之后 新建了一个docker 但是docker-machine的换件还是没改过来,还是会找原来的default,怎么改不会,所以我又把default加回来了
感觉docker terminal 太low 不好用?
我们可以用shell连接他,cmd里不需要密码
在xshell里需要密码 用户名密码 docker/tcuser
Docker命令
查看docker镜像
Docker images
下载nginx
Docker pull nginx
Docker run –d –p 80:80 –name jsongnginx nginx
-d后台运行
-p 端口80:映射到80
–name 起个名字
查看容器
Docker ps
看到容器中已经有jsongnginx
镜像
docker的镜像,类似一个模板,用来创建容器
查看docker镜像
Docker images
删除镜像
docker rmi [id]
删除所有镜像
docker rmi ${docker images -q}
启动镜像,生成容器 -d 后台运行 -p映射端口 --name 名字
docker run --name container-name -d image-name
例如
docker run -d -p 80:80 --name jsongnginx nginx
容器
容器是镜像的实例
查看容器
docker ps
停止容器
docker stop [containerid]
删除容器
docker rm [containerid]
查看日志
docker logs [name]
部署应用
后台
新建一个文件夹 把jar包放进来,新建Dockerfile
Dockerfile
FROM java:8
MAINTAINER jsong
ADD app.jar app.jar
EXPOSE 8080
ENTRYPOINT [“java”,"-jar","/app.jar"]
解释
镜像基础java8
维护人 jsong
添加app.jar到镜像,重命名app.jar
监听端口8080
启动命令
打包 在文件夹中到cmd输入命令
docker build -t app .
后台打包成功
打包 同样
Docker build –t ui .
Docker images
看看我们刚刚build的两个镜像都已经产生了
启服务
docker run –d –name jsong app app
然后 然后 然后 我们打开浏览器,就终于可以看见首页啦 成功! 哈哈哈哈
为什么页面像假的,因为我用的是配置工具的工程 ,需要查询后台才能显示结果,我在本机没有数据库,所以后台起不来,前台面只能这样了
导出镜像
docker save > E:\docker_project\ui_config\images\ui.tar ui
我们的镜像就导出来了,可以部署了
导入镜像
docker load < E:\docker_project\ui_config\images\ui.tar
docker-compoes
当我们有多个容器时,一次需要启动很多容器,很麻烦
docker-compose是一个编排工具,可以一次实例,运行多个容器
docker-compose.yml
ywjk-app:
# 镜像名称
image: si_zx/monitor-app:1.0
# 容器名称
container_name: ywjk-app
restart: always
# 启动命令
command: java -jar /u01/app.jar --server.port=8080
# 映射端口
ports:
- 8080:8080
docker-compose up -d
然后 然后 然后
我们就从docker坑中爬出来了 哈哈哈哈哈哈
刚刚学习,可能有很多错误的地方,请各位看官老爷帮我指正