Ubuntu的docker配置(分布式数据库)


1. 安装Ubuntu

1.1 安装Ubuntu操作系统

下载地址

1.2 更新软件包

bash
apt update  # 更新系统的软件包列表
apt upgrade -y  # 升级系统中已安装的软件包到最新版本

2. 安装Docker和配置代理服务

2.1 安装docker

  1. 卸载旧版本
    bash
    apt remove docker docker-engine docker.io containerd runc
  2. 安装依赖
    bash
    apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common vim
  3. 下载并安装gpg密钥
    bash
     curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  4. 设置仓库
    bash
     echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  5. 更新包索引
    bash
    apt update
  6. 安装docker
    bash
     apt-get install docker-ce docker-ce-cli containerd.io
  7. 查看docker状态
    bash
    systemctl status docker
    docker --version

2.2 配置docker代理

  1. 编辑配置文件

    bash
    vim /etc/docker/daemon.json
  2. 加入代理配置

    text
    {
      "registry-mirrors": [
        "https://docker.m.daocloud.io"
      ]
    }
  3. 重启docker服务

    bash
    systemctl restart docker

3. 配置docker容器

3.1 拉取需要的镜像

  1. 拉取需要的镜像

    bash
    docker pull redis:latest
    docker pull mongo:latest
    docker pull cassandra:latest
    docker pull neo4j:latest
  2. 查看已经拉取的镜像

    bash
    docker images

3.2 配置redis

  1. 创建并运行redis容器
    bash
    docker run -itd --name redis -p 6379:6379 redis
  2. 连接redis
    bash
    docker exec -it redis redis-cli --raw

3.3 配置mongo

  1. 创建并运行mongo容器

    bash
    docker run -itd --name mongo -p 27017:27017 mongo --auth
  2. 连接mongo数据库

    bash
    docker exec -it mongo mongosh admin
  3. 创建管理员用户

    bash
    db.createUser({
    user: "admin",
    pwd: "123456",
    roles: [{
    role: "userAdminAnyDatabase", 
    db: "admin" 
    },"readWriteAnyDatabase"]
    });
  4. 创建一个test数据库并进行身份认证

    bash
    db.createUser({
    user: 'root',
    pwd: '123456',
    roles: [
    { role: 'readWriteAnyDatabase', db: 'test' }
    ]
    });
  5. 切换到数据库并使用创建的账号进行登录

    bash
    use test
    db.auth('root','123456')

3.3 配置cassandra

  1. 创建docker network

    bash
    docker network create network
  2. 创建并运行cassandra容器

    bash
    docker run -itd --name cassandra --network network cassandra

    <等待一段时间>

  3. 连接cassandra

    bash
    docker run -it --network network --rm cassandra cqlsh cassandra

3.3 配置neo4j

  1. 创建neo4j所需目录

    bash
    mkdir /home/neo4j
    cd /home/neo4j
    mkdir data logs conf import
  2. 创建并运行neo4j容器

    bash
    docker run -d --name neo4j \
    -p 7474:7474 -p 7687:7687 \
    -v /home/neo4j/data:/data \
    -v /home/neo4j/logs:/logs \
    -v /home/neo4j/conf:/var/lib/neo4j/conf \
    -v /home/neo4j/import:/var/lib/neo4j/import \
    --env NEO4J_AUTH=neo4j/password \
    neo4j

4.其他

bash
docker ps #查看正在运行的容器
docker ps -a #查看所有容器
docker network ls #查看创建的网络
docker [start|restart|stop|rm] [容器名称或id]