docker-(一)常用软件安装配置

2023-01-06 其他 张狂年少 0

(1).MySQL
一.安装
拉取官方镜像(我们这里选择5.7,如果不写后面的版本号则会自动拉取最新版)

docker pull mysql:5.7 # 拉取 mysql 5.7
docker pull mysql # 拉取最新版mysql镜像
MySQL文档地址

检查是否拉取成功
$ sudo docker images
一般来说数据库容器不需要建立目录映射

sudo docker run -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
–name:容器名,此处命名为mysql
-e:配置信息,此处配置mysql的root用户的登陆密码
-p:端口映射,此处映射 主机3306端口 到 容器的3306端口
-d:源镜像名,此处为 mysql:5.7

二、连接
进入docker本地连接mysql客户端

sudo docker exec -it mysql bash
mysql -uroot -p123456

开放端口
$ systemctl status firewalld
$ firewall-cmd --zone=public --add-port=3306/tcp -permanent
$ firewall-cmd --reload
关闭防火墙
$ sudo systemctl stop firewalld
需要进入docker本地客户端设置远程访问账号

$ sudo docker exec -it mysql bash
$ mysql -uroot -p123456
mysql> grant all privileges on .to root@’%’ identified by ‘password’;
原理:

修改用户权限
mysql> use mysql;
Database changed

mysql> select host,user,password from user;
±-------------±-----±------------------------------------------+
| host | user | password |
±-------------±-----±------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
±-------------±-----±------------------------------------------+
2 rows in set (0.00 sec)

mysql> grant all privileges on .to root@’%’ identified by “password”;
Query OK, 0 rows affected (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

mysql> select host,user,password from user;
±-------------±-----±------------------------------------------+
| host | user | password |
±-------------±-----±------------------------------------------+
| localhost | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| 192.168.1.1 | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
| % | root | *A731AEBFB621E354CD41BAF207D884A609E81F5E |
±-------------±-----±------------------------------------------+
3 rows in set (0.00 sec)

(2).Redis
一、拉取最新版的 Redis 镜像
这里我们拉取官方的最新版本的镜像:

$ docker pull redis:latest

二、运行容器
安装完成后,我们可以使用以下命令来运行 redis 容器:

$ docker run -itd --name redis-test -p 6379:6379 redis
参数说明:

-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务

三、安装成功
最后我们可以通过 docker ps 命令查看容器的运行信息
接着我们通过 redis-cli 连接测试使用 redis 服务。

$ docker exec -it redis-test /bin/bash

(3).FastDFS
一、首先下载FastDFS文件系统的docker镜像

docker search fastdfs
拉取镜像
docker pull delron/fastdfs

二、启动服务
2.1 使用docker镜像构建tracker容器(跟踪服务器,起到调度的作用)
docker run -d --network=host --name tracker -v /var/fdfs/tracker:/var/fdfs delron/fastdfs tracker
2.2 使用docker镜像构建storage容器(存储服务器,提供容量和备份服务
docker run -d --network=host --name storage -e TRACKER_SERVER=ip:22122 -v /var/fdfs/storage:/var/fdfs -e GROUP_NAME=group1 delron/fastdfs storage
三、此时两个服务都以启动,进行服务的配置。

3.1进入storage容器,到storage的配置文件中配置http访问的端口,配置文件在/etc/fdfs目录下的storage.conf
docker exec -it storage /bin/bash

3.2配置nginx,在/usr/local/nginx目录下,修改nginx.conf文件