简介:
虚拟容器技术,Docker基于镜像。秒级启动各种容器。每一种容器都是一个完整的运行环境,容器之间互相隔离
入门教程
https://www.docker.org.cn/book/docker/what-is-docker-16.html
官方地址
https://www.docker.com/
官方安装文档
https://docs.docker.com/engine/install/centos/
Docker中文社区
https://www.docker.org.cn/
软件镜像
https://hub.docker.com/
阿里社区Docker安装文档
https://developer.aliyun.com/article/110806
1、卸载旧版本
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine
2、安装相关依赖
sudo yum install -y yum-utils
3、设置镜像地址
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
推荐使用阿里云镜像地址
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
这个镜像和后面跳到的镜像加速不同,这里指的是下载docker镜像本身的镜像地址
4、安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
安装完成
设置开机启动
sudo systemctl enable docker
5、启动docker
sudo systemctl start docker
6、测试
docker images -a
当前没有安装任何镜像
7、配置docker下载镜像加速
针对Docker客户端版本大于 1.10.0 的用户
可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器
1、查看阿里云配置
阿里云:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
参考文档:https://juejin.cn/post/6844904181497757704
2、执行
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { ## 地址为阿里云的加速地址 "registry-mirrors": ["https://40pg1dvk.mirror.aliyuncs.com"] } EOF
3、重启 sudo systemctl daemon-reload
4、重启 sudo systemctl restart docker
以安装“Elasitcsearch” 为例
一、docker pull elasticsearch:7.4.2
docker pull kibana:7.4.2
kibana是elasticsearch的【可视化界面】
也可以不指定版本,不指定默认安装最新版
二、创建目录,作为挂在目录
mkdir -p /mydata/elasticsearch/config
mkdir -p /mydata/elasticsearch/data
三、配置
将"http.host: 0.0.0.0"写入配置文件elasticsearch.yml:允许任何ip访问es, echo后面【有一个空格】
echo "http.host: 0.0.0.0">> /mydata/elasticsearch/config/elasticsearch.yml
bug解决:https://www.cnblogs.com/asker009/p/10041689.html
四、启动
docker run --name elasticsearch -p 9200:9200 -p9300:9300 \ -e "discovery.type=single-node" \ -e ES_JAVA_OPTS="-Xms64m -Xmx128m" \ -v /mydata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \ -v /mydata/elasticsearch/data:/usr/share/elasticsearch/data \ -v /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins \ -d elasticsearch:7.4.2
命令解释:
1)容器名字,暴露两个端口。9200:HTTP请求,9300:分布式集群下各节点通信端口
2)单节点运行
3)指定内存,默认占用所有,要指定【32G】
4)挂载 -v,可以直接在容器外部修改配置,装插件等
5)-d使用镜像: elasticsearch:7.4.2
五、查看:elasticsearsh 启动
至此已经完成安装
五、查看日志:
docker logs elasticsearch:查看日志【data文件夹权限不够】
docker logs a31:查看日志,使用id查看
修改其他用户权限也是 rwx
解决:chmod -R 777 /mydata/elasticsearch/【-R递归修改任何组任何角色都是rwx】
六、自动启动
docker update elasticsearch --restart=always
1、查看已启动镜像:docker images
2、查看所有镜像:docker images -a
3、启动docker:sudo systemctl start docker
4、虚拟机开机启动:sudo systemctl enable docker
5、docker启动后启动容器:sudo docker update elasticsearch --restart=always
6、重启容器,例如 elasticsearch:
查看容器的id或name:docker ps -a
重启restart id或name【重启就代表启动了】:
docker restart a31
docker restart elasticsearch
7、终止容器:docker stop elasticsearch
8、删除容器:docker rm elasticsearch
9、进入容器的运行时环境
进入mysql:docker exec -it mysql /bin/bash
进入redis:docker exec -it redis redis-cli