= colima Colima 是一个以最小化设置来在 MacOS 上运行容器运行时和 Kubernetes 的工具。支持 m1,同样也支持 Linux。 Colima 的名字取自 Container on Lima。Lima 是一个虚拟机工具,可以实现自动的文件共享、端口转发以及 containerd。 Colima 实际上是通过 Lima 启动了名为 colima 的虚拟机,使用虚拟机中的 containerd 作为容器运行时。 == 安装 [source,bash] ---- brew install colima ---- == 采用 x86_64 架构启动 [source,bash] ---- colima start \ --cpu 4 \ --memory 4 \ --disk 40 \ --arch x86_64 \ --vm-type vz \ --mount-type virtiofs \ --runtime docker ---- == 常用命令 [source,bash] ---- brew install colima # 安装 brew uninstall colima # 卸载 colima --version # 显示版本 colima help # 显示帮助 colima status # 显示 Colima 运行状态 colima list # 列出 colima 运行时实例 colima template # 编辑默认配置模版,该模版用户创建运行时实例,模版文件路径: ~/.colima/_templates colima start # 启动 Colima 运行时实例(采用默认配置模版) colima stop # 停止 Colima 运行时实例 colima restart # 重启 Colima 运行时实例 colima ssh # ssh 到 colima 运行时实例 colima ssh-config # 显示 SSH 连接配置信息 colima delete # 删除 Colima 运行时实例 colima kubernetes # 管理 Kubernetes 集群 colima nerdctl # 运行 nerdctl (需要 containerd 运行时) colima completion # 生成完成 script ---- [[colima-containerd-install-oracle-express-21.3.0-xe]] == 安装 oracle express:21.3.0-xe [source,bash] ---- # 显示 docker 上下文 docker context list # 输出结果 NAME TYPE DESCRIPTION DOCKER ENDPOINT KUBERNETES ENDPOINT ORCHESTRATOR colima * moby colima unix:///Users/wangshaoping/.colima/default/docker.sock default moby Current DOCKER_HOST based configuration unix:///var/run/docker.sock swarm desktop-linux moby unix:///Users/wangshaoping/.docker/run/docker.sock # 标记为 * 的表示是当前 docker 上下文 # colima : colima context # default: docker desktop context # 通过 docker context use xxx 来切换 docker conext # 切换上下文后,在执行 docker 命令时就在当前上下文引擎中执行 # 由于 oracle 未提供 arm 架构的 docker 镜像, 需要通过 colima 模拟 x86_64 环境的 docker 引擎来运行 # 切换 docker context 为 colima docker context use colima # 登录, 首先需要登录到 oracle 的镜像站点中才能下载 oracle 镜像 docker login container-registry.oracle.com # 输入用户名和密码,成功后继续 # pull 镜像 docker pull container-registry.oracle.com/database/express:21.3.0-xe # 启动容器, docker run -d --name oracle \ -p 1521:1521 \ -e ORACLE_PWD=Wspsc123 \ -v /Users/wangshaoping/wspsc/software/docker/volume/oracle_v21.3.0-xe:/opt/mnt \ container-registry.oracle.com/database/express:21.3.0-xe # 进入 oracle 容器 colima nerdctl exec -it oracle bash # 进入 sqlplus sqlplus / as sysdba # 显示当前数据库 SQL>show con_name; # 显示内容如下: # CON_NAME # ------------------------------ # CDB$ROOT # 显示可插拔数据库 SQL>show pdbs; # 显示内容如下: CON_ID CON_NAME OPEN MODE RESTRICTED ---------- ------------------------------ ---------- ---------- 2 PDB$SEED READ ONLY NO 3 XEPDB1 READ WRITE NO # 切换到可拔插的数据库 XEPDB1 SQL>alter session set container=XEPDB1; # 创建表空间 SQL>create tablespace "PLATFORM" logging datafile '/opt/oracle/oradata/XE/XEPDB1/platform.dbf' size 100m autoextend on next 100m extent management local; # 创建用户 SQL>create user "PLATFORM" identified by "platform" default tablespace "PLATFORM" temporary tablespace "TEMP"; # 授权用户 SQL>grant connect,resource to "PLATFORM"; ----