Docker学习笔记
参考资料:编程不良人
参考视频:https://www.bilibili.com/video/BV1ZT4y1K75K
学习时间:2021年10月27
Docker中文网:https://vuepress.mirror.docker-practice.com/
Docker基础
Docker的概述
Docker的安装
略
Docker核心架构图
Docker引擎及镜像相关操作
加载本地镜像到docker仓库
把本地镜像加到linux虚拟机
docker load -i 导入的tar的镜像文件名
Docker容器的基本操作
容器的基本操作1
容器的基本操作2
打包备份镜像
Docker镜像分层原理
Docker网路配置
订正:
docker network create 网桥名称
Docker数据卷的使用
创建数据卷的两种方式
创建只读数据卷
数据卷操作
Docker安装常用服务
常用服务安装总结
安装MySQL:
端口映射+ -e环境变量:mysql中root用户的密码 + mysqldata001数据卷映射mysql中数据 + mysqlconfig001数据卷映射mysql配置文件
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=88888888 --name mysql001 -v mysqldata001:/var/lib/mysql -v mysqlconfig001:/etc/mysql mysql
安装Tomcat:
端口映射+tomcatApps001容器卷映射应用存放位置+tomcatConfig001映射Tomcat配置文件位置
docker run -d -p 8080:8080 --name tomcat001 -v tomcatApps001:/usr/local/tomcat/webapps -v tomcatConfig001:/usr/local/tomcat/conf tomcat
安装Redis:
端口映射+redisData001容器卷映射数据文件位置+开始aop持久化
docker run -d -p 6379:6379 --name redis001 -v redisData001:/data redis redis-server --appendonly yes
安装ElasticSearch:
docker run -d --name elasticsearch001 -p 9200:9200 -p 9300:9300 -v esdata001:/usr/share/elasticsearch/data -v esconfig001:/usr/share/elasticsearch/config -v esplugins001:/usr/share/elasticsearch/pluges elasticsearch
Docker安装MySQL
映射配置文件
Docker安装Tomcat
修改Tomcat中的配置文件
Docker安装Redis
Docker中Redis持久化方案
Redis默认不开启RDB(它认为没什么用),但是Redis提供了开启AOP的方案:-appendonly yes
加载自己的配置文件启动(一般不会使用)
方法一:使用DockerFile
方法二:自己下载Redis,拿出里面的配置文件来,再放入linux,再做数据卷映射,并指定启动时的配置文件
方法三:不一定放入完整的配置文件,只需要放入修改的内容
例如:创建一个空的 redis.conf 只写入:bind 0.0.0.0,以配置文件方式启动Redis
原理:如果有这个配置就覆盖,没有就使用原有的
在Docker中操作Redis
redis-cli
表示运行一个redis客户端。
docker exec -it da45019bf760 redis-cli
Docker安装Nginx
Docker安装MongoDB
Docker安装ESearch
docker run -d --name elasticsearch001 -p 9200:9200 -p 9300:9300
-v esdata001:/usr/share/elasticsearch/data ### 映射数据文件
-v esconfig001:/usr/share/elasticsearch/config ### 映射配置文件
-v esplugins001:/usr/share/elasticsearch/pluges ### 映射插件
elasticsearch
也可以直接映射一个大的文件夹
docker run -d --name elasticsearch001 -p 9200:9200 -p 9300:9300
-v esall001:/usr/share/elasticsearch ### 映射
elasticsearch
安装成功后,访问9200端口,查看是否返回json数据
http://192.168.179.131:9200
安装lk分词器
1.启动elasticsearch,配置 es 中config的映射
2.把 lk分词器 添加到 config,并解压
3.重启 es
Docker安装Kibana
Kibana 与 Docker 保持版本对应,Kibana 与 Docker 放在同一个网桥
Kibana 启动时 连接 es:指定环境变量 -e ELASTICEARCH_URL
docker run -d --name kibana -p 5601:5601 -v ELASTICSEARCH_URL=http://192.168.228.160 kibana
Kibana 配置文件映射,然后再修改配置文件
docker run -d --name kibana -p 5601:5601 -v kibanaConfig001:/usr/share/kibana/config kibana
Docker进阶
Dockerfile简述
Dockerfile 中 D大写,f小写
Dockerfile 本身就是一个文件,没有 .xxx的 后缀名
上下文/context目录:Dockfile所在的文件夹
Dockerfile每一次构建都会生成一个临时镜像,但最终都会给我们一个最终镜像,会把每一次执行的结果的放入缓冲区(–no-cache不会创建缓冲区)
Dockerfile常用命令
Dockerfile的保留命令
Dockerfile命令详解
案例:改造centos使其支持vim
案例:Dockerfile命令练习
Dockerfile实际应用
Dockerfile构建SpringBoot应用
Docker在IDEA中的使用
在IDEA中安装Docker插件
在IDEA中开启主机的远程连接
开启之后就直接可以操作远程主机的内容
Docker-compose模板
Docker-compose简介
安装与卸载
运行以下命令以下载 Docker Compose 的当前稳定版本:
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
要安装其他版本的 Compose,请替换 1.24.1。
curl -L https://github.com/docker/compose/releases/download/2.0.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
将可执行权限应用于二进制文件:
$ sudo chmod +x /usr/local/bin/docker-compose
创建软链:
$ sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
测试是否安装成功:
$ docker-compose --version
cker-compose version 1.24.1, build 4667896b
注意: 对于 alpine,需要以下依赖包: py-pip,python-dev,libffi-dev,openssl-dev,gcc,libc-dev,和 make。
快速使用
Compose命令模板
推荐博客:https://blog.csdn.net/qq_36148847/article/details/79427878
官方网址:
模板命令总结
模板命令实际使用
使用 env_file 解决密码不安全问题
depends_on 实现容器编排(容器的先后启动问题)
几个不常用的命令
Compose和Docker引擎版本对应
官网:https://docs.docker.com/compose/compose-file/compose-file-v3/
Docker和Docker-Compose升级: https://www.jianshu.com/p/41acabb2a817
我的系统:版本不对应
[root@localhost DockerComopse]# docker-compose -version
docker-compose version 1.24.1, build 4667896b
[root@localhost DockerComopse]# docker version
Client: Docker Engine - Community
Version: 20.10.8
docker-compose模板总结
compose中的build指令
Docker-compose指令
Docker可视化工具portainer
docker pull portainer/portainer
docker volume create portainer_data
docker run -d -p 8000:8000 -p 9000:9000 --name=portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
docker ps