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
创建数据挂载文件夹 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
-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时可以按如下逻辑修改):