农祖社 發表於 2026-1-5 17:14:42

linux安装docker配置其他方式

<div id="navCategory"><h5 class="catalogue">目录</h5><ul class="first_class_ul"><li><a href="#_label0">1. 安装docker</a></li><ul class="second_class_ul"><li><a href="#_lab2_0_0">准备</a></li><li><a href="#_lab2_0_1">安装docker</a></li><li><a href="#_lab2_0_2">配置镜像加速</a></li><li><a href="#_lab2_0_3">启动docker</a></li><li><a href="#_lab2_0_4">卸载docker</a></li></ul><li><a href="#_label1">2. 安装redis</a></li><ul class="second_class_ul"><li><a href="#_lab2_1_5">拉取redis镜像</a></li><li><a href="#_lab2_1_6">查看docker镜像</a></li><li><a href="#_lab2_1_7">创建容器并配置运行</a></li></ul><li><a href="#_label2">3. 安装nginx</a></li><ul class="second_class_ul"><li><a href="#_lab2_2_8">拉取镜像</a></li><li><a href="#_lab2_2_9">创建本地将要挂载的目录</a></li><li><a href="#_lab2_2_10">启动容器</a></li></ul><li><a href="#_label3">4. 安装zookeeper</a></li><ul class="second_class_ul"><li><a href="#_lab2_3_11">拉取镜像</a></li><li><a href="#_lab2_3_12">启动容器</a></li></ul><li><a href="#_label4">5.安装kafka和zookeeper</a></li><ul class="second_class_ul"></ul><li><a href="#_label5">6.安装ElasticSearch</a></li><ul class="second_class_ul"><li><a href="#_lab2_5_13">拉取镜像并准备工作</a></li><li><a href="#_lab2_5_14">分词器(可选)</a></li><li><a href="#_lab2_5_15">启动容器</a></li><li><a href="#_lab2_5_16">配置账号密码</a></li></ul><li><a href="#_label6">安装MySQL</a></li><ul class="second_class_ul"></ul><li><a href="#_label7">总结</a></li><ul class="second_class_ul"></ul></ul></div><p class="maodian"><a name="_label0"></a></p><h2>1. 安装docker</h2>
<p class="maodian"><a name="_lab2_0_0"></a></p><h3>准备</h3>
<p>更新yum</p>
<div class="jb51code"><pre class="brush:bash;">yum -y update
</pre></div>
<p>安装docker所需软件包</p>
<div class="jb51code"><pre class="brush:bash;">yum install -y yum-utils device-mapper-persistent-data lvm2
</pre></div>
<p>设置阿里云镜像仓库</p>
<div class="jb51code"><pre class="brush:bash;">yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
</pre></div>
<p class="maodian"><a name="_lab2_0_1"></a></p><h3>安装docker</h3>
<div class="jb51code"><pre class="brush:bash;">yum install docker-ce
</pre></div>
<p class="maodian"><a name="_lab2_0_2"></a></p><h3>配置镜像加速</h3>
<p><strong>可以都加上</strong></p>
<ul><li>科大镜像:https://docker.mirrors.ustc.edu.cn/</li><li>网易:https://hub-mirror.c.163.com/</li><li>阿里云:https://&lt;你的ID&gt;.mirror.aliyuncs.com</li><li>七牛云加速器:https://reg-mirror.qiniu.com</li></ul>
<div class="jb51code"><pre class="brush:bash;">{
“registry-mirrors”: [
“https://ung2thfc.mirror.aliyuncs.com”,
“https://registry.docker-cn.com”,
“http://hub-mirror.c.163.com”,
“https://docker.mirrors.ustc.edu.cn”
]
}</pre></div>
<div class="jb51code"><pre class="brush:bash;">sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json &lt;&lt;-'EOF'
{
"registry-mirrors": ["你的加速地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

</pre></div>
<p class="maodian"><a name="_lab2_0_3"></a></p><h3>启动docker</h3>
<div class="jb51code"><pre class="brush:bash;">启动
systemctl start docker
设置开机启动
systemctl enable docker
</pre></div>
<p class="maodian"><a name="_lab2_0_4"></a></p><h3>卸载docker</h3>
<p>查询安装包</p>
<div class="jb51code"><pre class="brush:bash;">yum list installed | grep docker
</pre></div>
<p>删除安装包</p>
<div class="jb51code"><pre class="brush:bash;">yum remove docker*
</pre></div>
<p>删除镜像容器</p>
<div class="jb51code"><pre class="brush:bash;">rm -rf /var/lib/docke
</pre></div>
<p class="maodian"><a name="_label1"></a></p><h2>2. 安装redis</h2>
<p class="maodian"><a name="_lab2_1_5"></a></p><h3>拉取redis镜像</h3>
<div class="jb51code"><pre class="brush:bash;">docker pull redis
</pre></div>
<p class="maodian"><a name="_lab2_1_6"></a></p><h3>查看docker镜像</h3>
<div class="jb51code"><pre class="brush:bash;">docker images
</pre></div>
<p class="maodian"><a name="_lab2_1_7"></a></p><h3>创建容器并配置运行</h3>
<div class="jb51code"><pre class="brush:bash;">创建宿主机目录
mkdir /usr/local/dockersoft/redis
创建持久化文件目录
mkdir /usr/local/dockersoft/redis/data
将原redis.conf拷贝到这个redis目录下,修改redis.conf配置文件
#bind 127.0.0.1 # 注释掉,即允许远程连接
protected-mode no #启用保护模式

appendonly yes #持久化

requirepass 123456 #密码
</pre></div>
<div class="jb51code"><pre class="brush:bash;">docker run -itd --name redis -v /usr/local/dockersoft/redis/redis.conf:/etc/redis.conf -v /usr/local/dockersoft/redis/data:/data -p 6379:6379 redis redis-server /etc/redis.conf
</pre></div>
<ul><li>6379:第一个6379是远程指定的端口</li><li>&ndash;name:给容器起一个名</li><li>-p:端口映射 宿主机:容器</li><li>-v:挂载自定义配置 自定义配置:容器内部配置</li><li>-d:后台运行</li><li>redis-server --appendonly yes: 在容器执行redis-server启动命令,并打开redis持久化配置</li><li>-e设置环境变量参数,如: -e require-pass=123456</li></ul>
<p class="maodian"><a name="_label2"></a></p><h2>3. 安装nginx</h2>
<p class="maodian"><a name="_lab2_2_8"></a></p><p class="maodian"><a name="_lab2_3_11"></a></p><h3>拉取镜像</h3>
<div class="jb51code"><pre class="brush:bash;">docker pull nginx
</pre></div>
<p class="maodian"><a name="_lab2_2_9"></a></p><h3>创建本地将要挂载的目录</h3>
<div class="jb51code"><pre class="brush:bash;">mkdir /usr/local/dockersoft/nginx
cd /usr/local/dockersoft/nginx
mkdir logs conf html
</pre></div>
<p class="maodian"><a name="_lab2_2_10"></a></p><p class="maodian"><a name="_lab2_3_12"></a></p><p class="maodian"><a name="_lab2_5_15"></a></p><h3>启动容器</h3>
<div class="jb51code"><pre class="brush:bash;">docker run -itd --name nginx -p 80:80 -v /usr/local/dockersoft/nginx/html:/usr/share/nginx/html:ro -v /usr/local/dockersoft/nginx/logs:/var/log/nginx -v /usr/local/dockersoft/nginx/conf/nginx.conf:/etc/nginx/nginx.conf:ro nginx
</pre></div>
<p class="maodian"><a name="_label3"></a></p><h2>4. 安装zookeeper</h2>
<h3>拉取镜像</h3>
<div class="jb51code"><pre class="brush:bash;">docker pull zookeeper
</pre></div>
<h3>启动容器</h3>
<div class="jb51code"><pre class="brush:bash;">docker run -d -p 2181:2181 --name some-zookeeper --restart always zookeeper
</pre></div>
<p class="maodian"><a name="_label4"></a></p><h2>5.安装kafka和zookeeper</h2>
<div class="jb51code"><pre class="brush:bash;">docker pull wurstmeister/zookeeper
docker pull wurstmeister/kafka
docker run -d --name zookeeper-12181 -p 12181:2181-t wurstmeister/zookeeper
docker run -d --name kafka-19092 -p 19092:9092 --link zookeeper-wurstmeister-12181:zookeeper -e KAFKA_BROKER_ID=1-e HOST_IP=101.33.245.109-e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://101.33.245.109:9092-e KAFKA_ADVERTISED_HOST_NAME=101.33.245.109 -twurstmeister/kafka
</pre></div>
<p>部分参数含义:</p>
<ul><li>KAFKA_BROKER_ID=1 kafka在集群中的唯一标识</li><li>KAFKA_ZOOKEEPER_CONNECT=zookeeper:12181 监听zookeeper的地址</li><li>KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://192.168.65.7:19092 kafka服务器的地址</li></ul>
<div class="jb51code"><pre class="brush:bash;">进入容器
docker exec -it ${CONTAINER ID} /bin/bash
进入kafka的bin目录下
cd /opt/kafka_2.13-2.8.1/bin
创建topic
./kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic mykafka
查看topic信息-first:topic名
./kafka-topics.sh --zookeeper 192.168.233.129:12181 --describe --topic first
运行生产者
./kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka
消费topic
./kafka-console-consumer.sh --bootstrap-server 127.0.0.1:9092 --from-beginning --topic mykafka
</pre></div>
<p class="maodian"><a name="_label5"></a></p><h2>6.安装ElasticSearch</h2>
<p class="maodian"><a name="_lab2_5_13"></a></p><h3>拉取镜像并准备工作</h3>
<div class="jb51code"><pre class="brush:bash;">docker pull elasticsearch:7.17.6
docker images
# 创建挂载文件夹
mkdir /usr/local/elasticsearch/config
mkdir /usr/local/elasticsearch/data
mkdir /usr/local/elasticsearch/plugins
# 创建配置文件
vim /usr/local/elasticsearch/config/elasticsearch.yml
#配置yml文件
http.host: 0.0.0.0
http.cors.enabled: true
http.cors.allow-origin: "*"
http.cors.allow-headers: Authorization
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true

# 设置挂载目录权限
chmod -R 777 /usr/local/elasticsearch
</pre></div>
<p class="maodian"><a name="_lab2_5_14"></a></p><h3>分词器(可选)</h3>
<ol><li>ik分词器地址:<a href="https://github.com/medcl/elasticsearch-analysis-ik" rel="external nofollow"target="_blank">https://github.com/medcl/elasticsearch-analysis-ik</a></li><li>下载和ElasticSearch版本相同的分词器,将分词器目录放到plugins下,并修改文件夹名称为&ldquo;ik&rdquo;</li><li>或者在容器内使用命令</li></ol>
<div class="jb51code"><pre class="brush:bash;">./bin/elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.6/elasticsearch-analysis-ik-7.17.6.zip
</pre></div>
<h3>启动容器</h3>
<div class="jb51code"><pre class="brush:bash;">docker run --name elasticsearch --restart=always -p 9200:9200 -p 9300:9300 \
-e "discovery.type=single-node" \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-v /usr/local/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/local/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
-d elasticsearch:7.17.6
</pre></div>
<p class="maodian"><a name="_lab2_5_16"></a></p><h3>配置账号密码</h3>
<div class="jb51code"><pre class="brush:bash;"># 进入容器
docker exec -it elasticsearch /bin/bash

# bin目录下,需要输入多次,有都多个账号
./bin/elasticsearch-setup-passwords interactive
</pre></div>
<p class="maodian"><a name="_label6"></a></p><h2>安装MySQL</h2>
<div class="jb51code"><pre class="brush:bash;">docker run -p 3306:3306 --name mysql -v /opt/docker/mysql/conf:/etc/mysql/conf.d -v /opt/docker/mysql/logs:/logs -v /opt/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:latest
</pre></div>
<p class="maodian"><a name="_label7"></a></p><h2>总结</h2>
<p>以上为个人经验,希望能给大家一个参考,也希望大家多多支持琼殿技术社区。</p>
頁: [1]
查看完整版本: linux安装docker配置其他方式