[COBOL] Using GnuCOBOL with wsl + docker + vscode


Posted by mike-hsieh on 2024-06-19

本篇介紹如何在 windows10 透過 wsl + docker + vscode 運行 GnuCOBOL,考量到不同環境問題,所以使用 docker 來處理,以下紀錄。

Step1: 安裝 wsl + docker

請參考(oracle的部分可以省略): [Linux] Windows安裝Wsl2 + Ubuntu22.04 + Docker +Oracle


Step2: 創建 Dockerfile

於 D:/docker_cobol 下創建 Dockerfile

FROM ubuntu:22.04

RUN apt-get update && \
    apt-get install -y gnucobol && \
    apt-get clean

WORKDIR /usr/src/app

CMD ["bash"]



Step3: 建構 Docker image

於 D:/docker_cobol 開啟 cmd,進入 wsl 後,輸入以下指令。

docker build -t gnucobol-env .



Step4: 運行 Docker container

docker run -it -d -v /mnt/d/docker_cobol/app:/usr/src/app gnucobol-env



Step5: 於 wsl 中開啟 vscode

code .

可以發現左下角有連到了。



Step6: 設定 devcontainer.json

於 D:/docker_cobol 建立 .devcontainer 資料下,並於內部建立 devcontainer.json (內容如下)

{
    "name": "GnuCOBOL",
    "context": "..",
    "dockerFile": "../Dockerfile",
    "mounts": [
      "source=/mnt/d/docker_cobol/app,target=/usr/src/app,type=bind", 
    ],
    "workspaceFolder": "/usr/src/app",
    "extensions": [
        "bitlang.cobol",
        "formulahendry.code-runner"
    ]
}



Step6: Connect to container

按下 Ctrl + P,並點擊 Dev Containers: Reopoen in Container。會讀取 devcontainer.json 建立連線。



Step7: Hello World

建立一個 01_hello.cob 檔案,輸入以下內容。

       IDENTIFICATION   DIVISION.
       PROGRAM-ID.      'HELLOWORLD'.

       ENVIRONMENT      DIVISION.
       CONFIGURATION SECTION.

       DATA             DIVISION.

       FILE             SECTION.
       WORKING-STORAGE  SECTION.
       PROCEDURE        DIVISION.
       MAIN-PROCEDURE.
            DISPLAY "Hello world!"
            STOP RUN.

運行 cobol

# 將 01_hello.cob 編譯,並產生 01_hello 檔案
cobc -x '/usr/src/app/01_hello.cob'

# 執行 01_hello
./01_hello



#cobol #vscode #docker #wsl







Related Posts

一般業界數位IC設計開發流程

一般業界數位IC設計開發流程

Tapo IP Camera 串流擷取

Tapo IP Camera 串流擷取

Unveiling Dubai's Finest: A Guide to Top-Tier SEO Services

Unveiling Dubai's Finest: A Guide to Top-Tier SEO Services


Comments