docker常用软件安装

默认的,Docker会从官方的 Docker Hub 拉取镜像,国内用户想要提升访问 Docker Hub 拉取镜像的速度及稳定性,需要配置镜像站

MySQL

拉取并安装

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

进入容器

docker exec -it 容器id bash

尝试使用账号密码登录, 上面的 -e MYSQL_ROOT_PASSWORD=yourpassword就是指定了root账户的密码

root@bfc76780ae50:/# mysql -u root -p
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
root@bfc76780ae50:/# mysql -u root  
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
root@bfc76780ae50:/# exit

还登不进去???

还好刚刚映射了文件到宿主机, 现在去改改配置文件

vim /root/docker/mysql/conf/docker.cnf

输入以下配置

[mysqld]
# 使用 set password for设置密码无效,且此后登录无需键入密码
skip-grant-tables

然后重启一下mysql容器

docker restar 容器id

再进入容器就发现可以登录了, 但是这种无鉴权的方式是很不安全的, 所以我们要改一个密码

use mysql;
# mysql5.7
UPDATE user SET authentication_string = password ( 'yourpassword' ) WHERE User = 'root';
# mysql 8
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '你的密码';  
flush privileges;
exit;

然后再把docker.cnf里的skip-grant-tables这个删掉, 重启容器就可以了
既然是mysql, 也要添加外部可以访问, 比如用navicat连接mysql容器

# 进入mysql容器
docker exec -it 容器id bash
# 登录mysql
mysql -u root -p

在mysql命令行下输入

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
mysql> FLUSH PRIVILEGES;

然后使用navicat就可以连接上了

navcat连接mysql

Redis

docker run -d -p 6379:6379 --name redis-6379 \
-v /opt/docker/redis/data:/data \
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
daocloud.io/library/redis:5.0 \
redis-server --appendonly yes --requirepass yourpasswor

Nginx

docker run --name nginx-1.17.9 -d -p 80:80 \
-v /opt/docker/nginx/html:/etc/nginx/html \
-v /opt/docker/nginx/log:/var/log/nginx:rw \
-v /opt/docker/nginx/config/conf.d:/etc/nginx/conf.d \
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
nginx

新建配置文件

vim /opt/docker/nginx/config/conf.d/site1.conf

site1.conf配置文件如下:

server {
    # nginx服务器端口号
    listen       80;
    server_name  192.168.124.11;
 
    error_page   500 502 503 504  /50x.html;
    location = /50x.html {
      root   html;
    }
}

重启nginx, 使配置生效

docker restart nginx
cd /opt/docker/nginx/html
touch index.html && echo 'hello world!' >> index.html

访问ip:80即可看到刚刚输入的 hello world!

RabbitMQ

RabbitMQ 是开源的消息队列系统(或称消息中间件)

docker run -d --name rabbitmq-3.7.24 --hostname my-rabbit \
-p 5672:5672 -p 15672:15672 \
-v /usr/share/zoneinfo/Asia/Shanghai:/etc/localtime \
rabbitmq:3.7.24-management
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值