使用容器化的数据库服务

Redis

  1. 运行 Redis
    $ sudo docker run -d -p 127.0.0.1:6379:6379 --name redisa redis
    
  2. 检查程序是否正常运行及程序输出
    $ sudo docker ps
    $ sudo docker logs redisa
    
  3. 使用 Redis-CLI
    $ sudo docker exec -it redisa sh
    # redis-cli
    127.0.0.1:6379> ping
    127.0.0.1:6379> exit
    
  4. 连接其他链路上的 Redis 服务器
    $ sudo docker run -it --rm --link redisa:redis --name clienta redis sh
    # redis-cli -h redis
    redis:6379> exit
    

PostgreSQL

  1. 运行 Postgres
    $ docker run -d --name psql-container -v /psql/data:/var/lib/postgresql/data -p 127.0.0.1:5432:5432 postgres:11
    
  2. 进入 psql-cli
    $ docker exec -it psql-container psql -U postgres
    
  3. 创建扩展(需要构建新容器)
    • Dockerfile
      FROM postgres
      ENV POSTGRES_DB dspace
      ENV POSTGRES_USER dspace
      ENV POSTGRES_PASSWORD dspace
      COPY install-pgcrypto.sh /docker-entrypoint-initdb.d/
      
    • install-pgcrypto.sh
      set -e
      psql -v ON_ERROR_STOP=1 --username "$POSTGRES_USER" <<-EOSQL
      create extension pgcrypto;
      EOSQL
      

MariaDB

  1. 运行 MariaDB
    $ docker run --name mariadba -v /mariadb/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=mariapassword -d mariadb
    
  2. 进入 MariaDB 命令行模式
    $ docker run -it --rm mariadb mysql -hsome.mysql.host -usome-mysql-user -p
    

参考资料

评论