docker安装与基本使用

Docker:

简介:
​ 虚拟容器技术,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

image
2、安装相关依赖
sudo yum install -y yum-utils
image
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
image

这个镜像和后面跳到的镜像加速不同,这里指的是下载docker镜像本身的镜像地址

4、安装docker
sudo yum install docker-ce docker-ce-cli containerd.io
image
image
安装完成
设置开机启动
sudo systemctl enable docker

5、启动docker
sudo systemctl start docker

6、测试
docker images -a
image
当前没有安装任何镜像

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

如果启动报如下错误:
Job for docker.service failed because start of the service was attempted too often. See "systemctl status docker.service" and "journalctl -xe" for details. To force a start use "systemctl reset-failed docker.service" followed by "systemctl start docker.service" again.

可以执行:下面命令解决
mv /etc/docker/daemon.json /etc/docker/daemon.conf

然后在执行重启命令


二、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 启动
image
至此已经完成安装

五、查看日志:
docker logs elasticsearch:查看日志【data文件夹权限不够】
docker logs a31:查看日志,使用id查看

image

修改其他用户权限也是 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

posted @ 2021-11-13 22:26  一只猿猴子  阅读(877)  评论(0编辑  收藏  举报