Docker 安装常用软件

Posted by Vito on May 25, 2022

mysql 5.7

  • 安装
    1
    2
    3
    4
    5
    6
    7
    8
    
    [root@mydockerhost ~]# docker run -d -p 3306:3306 --restart=always --privileged=true  \
                           -v /home/vito/docker/volume/mysql5.7/log:/var/log/mysql  \
                           -v /home/vito/docker/volume/mysql5.7/data:/var/lib/mysql  \
                           -v /home/vito/docker/volume/mysql5.7/conf:/etc/mysql/conf.d  \
                           -e MYSQL_ROOT_PASSWORD=root  \
                           --name mysql5.7 mysql:5.7.44
    # -v 宿主机文件或目录:容器内文件或目录
    # 宿主机文件或目录在容器创建之前可以不存在
    
  • 在宿主机中创建 mysql 配置文件
    1
    2
    3
    4
    5
    6
    7
    
    # 容器创建之后,conf 是个空目录
    [root@mydockerhost ~]# vim /home/vito/docker/volume/mysql5.7/conf/my.cnf 
    [client]
    default_character_set=utf8
    [mysqld]
    collation_server = utf8_general_ci
    character_set_server = utf8
    
  • 重启 mysql容器
    docker restart mysql5.7

pgsql

1
2
3
4
5
6
  [root@mydockerhost ~]# docker run -d -p 5432:5432 --privileged=true \
                         -v /home/vito/docker/volume/postgres10/data:/var/lib/postgresql/data \
                         -e POSTGRES_PASSWORD=postgres \
                         -e ALLOW_IP_RANGE=0.0.0.0/0 \
                         --name postgres10 \
                         postgres:10.23-alpine3.16

redis

  • 在宿主机下载并修改配置文件
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    
    [root@mydockerhost ~]# cd /home/vito/docker/volume/redis6.2/
    # 创建 redis.conf 文件 ( https://redis.io/docs/manual/config/ )
    [root@mydockerhost redis6.0]# wget https://raw.githubusercontent.com/redis/redis/6.2/redis.conf
    [root@mydockerhost redis6.0]# vim redis.conf
    # 设置密码
    requirepass 123456
    # 注释掉 bind 127.0.0.1 , 允许外部连接
    # bind 127.0.0.1
    # 将 daemonize 设置为 no ,如果配置为 yes 会和 docker run 中 -d 参数冲突,会导致容器一直启动失败 (默认就是 no)
    daemonize no
    # 使用 AOF 持久化方案
    appendonly yes
    
  • 安装 redis 并挂载上一步修改的配置文件
    1
    2
    3
    4
    5
    
    [root@mydockerhost ~]# docker run -d -p 6379:6379 --restart=always --privileged=true  \
                           -v /home/vito/docker/volume/redis6.2/redis.conf:/etc/redis/redis.conf  \
                           -v /home/vito/docker/volume/redis6.2/data:/data  \
                           --name redis6.2  \
                           redis:6.2.14 redis-server /etc/redis/redis.conf
    

portainer (已过时)

1
2
3
4
5
6
7
8
  [root@mydockerhost ~]# docker run -d  \
                         -p 8000:8000 -p 9000:9000  \
                         --restart=always  \
                         --privileged=true  \
                         -v /var/run/docker.sock:/var/run/docker.sock  \
                         -v /home/vito/docker/volume/portainer/data:/data  \
                         --name portainer  \
                         portainer/portainer
  • http://宿主机ip:9000
  • --restart=always :docker启动时容器自动启动

portainer-ce