Docker安装常用软件

一、安装Mysql

1、查看mysql最新版本

1
docker search mysql

2、拉取mysql镜像到本地

1
docker pull mysql:版本号

拉取下来后,使用 docker images 查看是否本地存在

3、安装mysql

1、配置文件

先新建一个文件夹存放mysql配置文件

1
mkdir -p /opt/docker-mysql/conf.d

然后新建mysql配置文件

1
vim config-file.cnf

config-file.cnf:

1
2
3
4
5
6
7
8
9
10
11
[mysqld]
# 表名不区分大小写
lower_case_table_names=1
#server-id=1
datadir=/var/lib/mysql
#socket=/var/lib/mysql/mysqlx.sock
#symbolic-links=0
# sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

2、增加数据文件

1
$ mkdir -p /opt/docker-mysql/var/lib/mysql

3、启动,设置默认密码 123456-abc,TZ 设置容器的默认时区

1
2
3
4
5
6
7
8
docker run --name mysql \
--restart=always \
-p 3306:3306 \
-v /opt/docker-mysql/conf.d:/etc/mysql/conf.d \
-v /opt/docker-mysql/var/lib/mysql:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456-abc \
-e TZ=Asia/Shanghai \
-d mysql:5.6

4、常用命令

进入容器

1
docker exec -it mysql bash

查看日志

1
docker logs -f mysql

备份数据

1
$ docker exec mysql sh -c 'exec mysqldump --all-databases -uroot -p"123456-abc"' > /some/path/on/your/host/all-databases.sql

恢复数据

1
$ docker exec -i mysql sh -c 'exec mysql -uroot -p"123456-abc"' < /some/path/on/your/host/all-databases.sql

二、安装redis

1、拉取最新版本

1
docker pull redis:latest

2、创建配置文件目录存放redis.conf

1
2
3
mkdir /usr/local/docker

vi /usr/local/docker/redis.conf

conf文件:官网下载

3、修改启动默认配置(从上至下依次):

1
2
3
4
5
6
bind 127.0.0.1 #注释掉这部分,这是限制redis只能本地访问
protected-mode no #默认yes,开启保护模式,限制为本地访问
daemonize no#默认no,改为yes意为以守护进程方式启动,可后台运行,除非kill进程,改为yes会使配置文件方式启动redis失败
databases 16 #数据库个数(可选),我修改了这个只是查看是否生效。。
dir ./ #输入本地redis数据库存放文件夹(可选)
appendonly yes #redis持久化(可选)

4.docker启动redis命令

1
docker run -p 6379:6379 --name myredis -v /usr/local/docker/redis.conf:/etc/redis/redis.conf -v /usr/local/docker/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes

命令解释

-p 6379:6379 端口映射:前表示主机部分,:后表示容器部分。

–name myredis 指定该容器名称,查看和进行操作都比较方便

-v\ 挂载目录,规则与端口映射相同。

为什么需要挂载目录:个人认为docker是个沙箱隔离级别的容器,这个是它的特点及安全机制,不能随便访问外部(主机)资源目录,所以需要这个挂载目录机制。

-d redis 表示后台启动redis

redis-server /etc/redis/redis.conf 以配置文件启动redis,加载容器内的conf文件,最终找到的是挂载的目录/usr/local/docker/redis.conf

–appendonly yes 开启redis 持久化

5、进入容器操作redis客户端

1
docker exec -it redis的id redis-cli -a 123456

6、加入开机自启动

1
docker update redis --restart=always

三、安装fastdfs

一、拉取fastdfs

1
docker pull morunchang/fastdfs

二、安装tracker

1
[root@192 ~]# docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh

三、安装storage

1
[root@192 ~]# docker run -d --name storage --net=host -e TRACKER_IP=192.168.115.131:22122 -e GROUP_NAME=group1 morunchang/fastdfs sh storage.sh

四、加入开机自启

1
2
[root@192 ~]# docker update --restart=always tracker
[root@192 ~]# docker update --restart=always storage