Redis
拉取镜像,以 redis:7.0.14 为例
shelldocker pull redis:7.0.14创建本地挂载目录

下载相应版本的redis配置文件(redis.conf):https://github.com/redis/redis/tags,将redis.conf文件放到conf文件夹下,并将此文件中 bind 127.0.0.1 -::1 和 protected-mode yes 这两行注释掉,否则远程连接的时候会报错
创建并运行容器
shelldocker run --name redis -d -e TZ=Asia/Shanghai -p 6379:6379 -v D:\workSpace\1_development_environment\docker_data\redis\conf\redis.conf:/etc/redis/redis.conf -v D:\workSpace\1_development_environment\docker_data\redis\data:/data --network docker-network --network-alias redis redis:7.0.14 redis-server /etc/redis/redis.conf --requirepass root --appendonly yesshelldocker run --name redis # 设置容器名 -d # 后台运行容器 -e TZ=Asia/Shanghai # 设置容器的时区 -p 6379:6379 # 将容器端口映射到宿主机的端口上 -v D:\workSpace\1_development_environment\docker_data\redis\conf\redis.conf:/etc/redis/redis.conf # 将配置文件映射到容器 -v D:\workSpace\1_development_environment\docker_data\redis\data:/data # 将数据目录映射到容器 --network docker-network --network-alias redis # 将容器桥接到network,用于其他容器的访问 redis:7.0.14 # 使用的镜像 redis-server /etc/redis/redis.conf # 使用宿主机的配置文件来启动服务 --requirepass root # 设置密码 --appendonly yes # 开启持久化docker创建并运行容器时,可能会因为WinNAT服务异常报下面的错,解决方法见 DockerDesktop常见问题中的《Docker容器端口映射问题》
"Ports are not available: exposing port TCP 0.0.0.0:63791 -> 0.0.0.0:0: listen tcp 0.0.0.0:63791: bind: An attempt was made to access a socket in a way forbidden by its access permissions"
Qbittorrent
查找可安装的镜像,我这里选择了superng6/qbittorrent
shelldocker search qbittorrent docker pull superng6/qbittorrent
创建并运行容器
shelldocker run -d --name qbittorrent -p 1234:8080 -v D:\workSpace\1_development_environment\docker_data\qbittorrent\config:/config -v D:\workSpace\1_development_environment\docker_data\qbittorrent\downloads:/downloads superng6/qbittorrent查看临时密码
shelldocker logs -f qbittorrent
登录 http://localhost:1234 后,使用默认账号(admin)和临时密码(上方截图中的)进行登录,在WebUI中修改密码

nexus3
查找可安装的镜像,我这里选择了sonatype/nexus3
shelldocker search nexus3 docker pull sonatype/nexus3
创建并运行容器
shelldocker run -tid --restart=always -p 8081:8081 -p 8082:8082 -p 8083:8083 -v D:\workSpace\1_development_environment\docker_data\nexus3\data:/nexus-data --name nexus3 -e NEXUS_CONTEXT=nexus sonatype/nexus3访问 http://localhost:8081/nexus 登录,临时密码存放在容器中的 /nexus-data/admin.password 中,因为容器数据挂载到了本地路径,也可以从本地路径 D:\workSpace\1_development_environment\docker_data\nexus3\data\admin.password 获取,使用默认账号(admin)和临时密码(admin.password文件中的内容)登录后,nexus3会提示修改密码,修改成自己的密码即可


Oracle
查找可安装的镜像,我这里选择了 truevoly/oracle-12c
shelldocker search oracle-12c docker pull truevoly/oracle-12c
创建并运行容器
cmddocker run -itd -p 1521:1521 -v D:\workSpace\1_development_environment\docker_data\oracle\data:/u01/app/oracle --name oracle12 truevoly/oracle-12c等待数据库初始化完毕

检查使用默认账号和密码是否能连接上
tex主机名: localhost 端口: 1521 服务名称或sid: xe 用户名: system 密码: oracle
默认密码的有效期是180天,所以需要将密码设置成永久
进入到控制台

依次执行下面命令,修改后再次使用上述连接信息连接数据库即可
shell# 切换成oracle用户 su oracle # 进入sqlplus $ORACLE_HOME/bin/sqlplus / as sysdba # 设置密码有效期为无限制 ALTER PROFILE DEFAULT LIMIT PASSWORD_LIFE_TIME UNLIMITED; # 解锁system用户 alter user SYSTEM account unlock;
创建表空间
sqlCREATE TABLESPACE LOCALSPACE DATAFILE '/u01/app/oracle/LOCALSPACE.dbf' SIZE 100M AUTOEXTEND ON NEXT 10M
挂载的本地目录会生成相应的数据文件

创建用户,并设置上一步创建的表空间为默认表空间
sqlCREATE USER ZHANGHL IDENTIFIED BY root DEFAULT TABLESPACE LOCALSPACE授权给新用户DBA权限
sqlGRANT DBA TO ZHANGHL表空间、用户等创建完毕后,该用户就可以进行增加删除表等操作了

chromadb
查找可安装的镜像,我这里选择了 chromadb/chroma
shelldocker search chromadb docker pull chromadb/chroma
创建并运行容器
shelldocker run -d --name chromadb -p 9999:8000 -v D:\workSpace\1_development_environment\docker_data\chromadb:/chroma/chroma -e IS_PERSISTENT=TRUE chromadb/chroma:latest容器创建完毕后,在宿主机浏览器中访问 http://localhost:9999/docs/,如果能访问到chromadb的文档页面,说明它已经成功安装并运行
