docker 安装redis /mysql/rabbitmq

注意:下面所有的命令都是默认在管理员身份下安装的,如果是非管理员,要在命令前加上sudo,如sudo docker pull mysql:5.7

redis 安装:

       1.拉取最新镜像,或者到https://www.docker.com/products/docker-hub 获取对应版本的redis镜像:

        docker pull redis //这个是获取最新的,如果获取指定版本的redis: docker pull redis:5.0

       2.创建容器,并设置redis的登陆密码

          docker run -dit --name myRedist3 -p 6379:6379 redis:5.0 --requirepass 66666

        参数解析: -d 表示后台启动 -it表示进入容器的/bin/bash执行命令 --name 表示起个名称 -p端口映射,左边的宿主机的端口,右边的容器端口,防火墙对应的端口会自动配置,接 着redis:5.0代表的是镜像的名称(通过docker images可以查询到)

        --requirepass 表示设置redis的登陆密码

mysq 安装(目录挂载):

      1.拉取指定镜像 : docker pull mysql:5.7

      2.执行如下命令:

2. docker run -p 3306:3306 --name mysql 
 -v /mydata/mysql/log:/var/log/mysql 
-v /mydata/mysql/data:/var/lib/mysql 
-v /mydata/mysql/conf:/etc/mysql 
 -e MYSQL_ROOT_PASSWORD=root 
-d mysql:5.7

3.命令说明:

参数说明-p 3306:3306:将容器的 3306 端口映射到主机的 3306 端口 
-v /mydata/mysql/conf:/etc/mysql:将配置文件夹挂载到主机 
-v /mydata/mysql/log:/var/log/mysql:将日志文件夹挂载到主机 
-v /mydata/mysql/data:/var/lib/mysql/:将配置文件夹挂载到主机 
-e MYSQL_ROOT_PASSWORD=root:初始化 root 用户的密码

由于我们将docker 中mysql容器的相关文件夹跟宿主机相互挂载了,当命令执行后,将会在宿主机创建对应的mydata文件夹,自动创建

 

 如果我在conf文件创建2个a.txt和k.txt文件,那么在myql容器中的etc/mysql目录下,也会有这2个文件,相反,如果我在myql容器的/etc/mysql目录下创建文件,在宿主机的conf文件夹也可以看到

 

 其他容器的挂载也是同理

rabbitMq安装

       1.拉取指定的镜像: docker pull rabbitmq:3.8.9

       2.创建容器: docker run -p 15672:15672  -p 5672:5672 -d --hostname my-rabbit --name some-rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password rabbitmq:3.8.9

      上面创建后,在浏览器中登陆15672访问不到管理后台,需要进入容器:

   3. docker exec -it 容器Id /bin/bash  //容器id 可以通过docker ps -a 查询

   4.安装插件:rabbitmq-plugins enable rabbitmq_management

 

ElasticSearch和Kibana 安装(挂载方式)
 
拉取镜像:
docker pull elasticsearch:7.4.2 存储和检索数据
docker pull kibana:7.4.2
 
创建数据挂载文件夹 
mkdir -p /mydata/elasticsearch/config 
mkdir -p /mydata/elasticsearch/data 
设置所有ip都可以访问
echo "http.host: 0.0.0.0" >> /mydata/elasticsearch/config/elasticsearch.yml 
修改挂载文件夹的属性
chmod -R 777 /mydata/elasticsearch/  

运行命令:这些命令运行时,去掉换行,放在一行执行,否则会报错
docker run --name elasticsearch -p 9200:9200 -p 9300:9300  -e "discovery.type"="single-node" 
-e "ES_JAVA_OPTS"="-Xms64m -Xmx512m" \
-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
特别注意:
-e ES_JAVA_OPTS="-Xms64m -Xmx256m" \ 测试环境下,设置 ES 的初始内存和最大内存,否则导
致过大启动不了 ES
 
安装kibana:
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.56.10:9200 -p 5601:5601 \
-d kibana:7.4.2
http://192.168.56.10:9200 一定改为自己虚拟机的地址
 
nginx安装:
     1.下载nginx镜像: docker pull nginx:1.10
     2. 启动一个镜像: docker run -p 80:80 --name nginx -d nginx:1.10
     3. 创建一个文件夹:mkdir -p /mydata/nginx 然后进入到该目录
     4. 拷贝配置文件:docker container cp nginx:/etc/nginx,此时/mydata/nginx/下有个nginx目录,将其改名 mv nginx config
    5. 最终 在mydata文件下的目录:/mydata/nginx/config
    6. 删除上面的容器:docker stop nginx 先停掉容器,后删除 docker rm nginx
    7. 重新启动一个nginx容器 :
    docker run -p 80:80 --name nginx

    -v /mydata/nginx/html:/usr/share/nginx/html
    -v /mydata/nginx/logs:/var/log/nginx
    -v /mydata/nginx/conf:/etc/nginx
    -d nginx:1.10

 最终在mydata/nginx的目录如下:

 

 在html文件中创建一个index.html然后访问nginx就可用访问到该文件夹了

   
 
 
其他: 

//进入docker容器的linux环境使用docker exec 命令 退出使用exit命令

   如果上面创建容器时报了下面的错误:

 

 重新启动docker即可:systemctl restart docker

 

开机自启: 1.设置docker服务开机自启:systemctl enable docker

                   2.设置docker 容器开机自启,如redis服务:docker update 容器Id --restart=always

                   容器Id可以通过docker ps来查询到

开启阿里云镜像:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://r6qbtp65.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

  虚拟机网关修改(当自己装的虚拟机ping不同baidu.com时可以按如下逻辑修改):

 

 

 

 

  

 

 

      

         

 

    

 

posted @ 2020-11-23 19:25  yangxiaohui227  阅读(174)  评论(0编辑  收藏  举报