You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

120 lines
4.2 KiB

= 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";
----