Monday, July 3, 2023

[docker]建立個人專屬的Docker image

 建立個人專屬的Docker image

依 V8 images 為基準,新增 1 個 REPOSITORY



Step1: 查詢自己的UID,因為Docker啟動後,需要存取你在系統的檔案資料,所以需要同步UID

#id johnnysu

uid=1002(johnnysu) gid=1002(johnnysu) groups=1002(johnnysu),133(docker)


Step2: 確認系統中,是否有docker image?

#docker images

REPOSITORY      TAG              IMAGE ID       CREATED              SIZE

nvt_env         v8               0b4f165032d4   4 days ago           8.56GB

...


Step3: 啟動Docker容器

#docker run -it --name nvtenv_johnnysu_v8 nvt_env:v8 /bin/bash


Step4: 在Docker容器內,新增使用者 (輸入跟本機相同帳號密碼)

#adduser johnnysu


Step5: 修改UID/GID,及 sudo,與本機相同

usermod -u 1002 johnnysu

groupmod -g 1002 johnnysu

sudo usermod -aG sudo johnnysu


Step6: 修改完成後,再透過id command確認,確認後,執行exit離開docker。


Step7:儲存該階段docker容器

docker ps -a

CONTAINER ID   IMAGE                  COMMAND       CREATED          STATUS                        PORTS     NAMES

a953d7b4cb02   nvt_env:v8             "/bin/bash"   10 minutes ago   Exited (0) 10 minutes ago               nvtenv_johnnysu_v8

...

>>> 將這個docker打一個新的tag <<<

USERNAME@TPVPC:~$ docker commit -m "commit message” CONTAINER_ID IMAGE:new_tag

ex. docker commit -m "set johnnysu has the sudo privileges" a953d7b4cb02 nvt_env:v8


Step8: check Docker image

#docker images

REPOSITORY      TAG              IMAGE ID       CREATED          SIZE

nvt_env         johnnysu_v8      60b12cdc221c   10 minutes ago   8.56GB


Step 9: 使用 docker image

docker run -it -u johnnysu \

   --privileged \

   -v /extspace/ktm_proj/ref_ktmoss:/ktmoss \

   -v /usr/bin/hexdump:/usr/bin/hexdump:ro \

   -v /etc/localtime:/etc/localtime:ro \

   -v /home2/johnnysu:/home2/johnnysu \

   -v /extspace/johnnysu:/extspace/johnnysu \

   -v /extspace/ktm_proj/gitmirror:/extspace/ktm_proj/gitmirror \

   --name nvtenv_johnnysu_2k24_v8 \

   -it nvt_env:johnnysu_v8 \

   /bin/bash


Step 10: docker容器

#docker ps -a

CONTAINER ID   IMAGE                  COMMAND       CREATED          STATUS                        PORTS     NAMES

bd9379e13420   nvt_env:johnnysu_v8    "/bin/bash"   26 seconds ago   Exited (0) 7 seconds ago                nvtenv_johnnysu_2k24_v8

a953d7b4cb02   nvt_env:v8             "/bin/bash"   20 minutes ago   Exited (0) 19 minutes ago               nvtenv_johnnysu_v8


Step 11: 移除不要的 docker容器

#docker container rm a953d7b4cb02


Step 12: 使用 docker 容器

#docker start bd9379e13420

#docker attach bd9379e13420

n8n index

 【n8n免費本地端部署】Windows版|程式安裝x指令大補帖  【一鍵安裝 n8n】圖文教學,獲得無限額度自動化工具&限時免費升級企業版功能