建立個人專屬的Docker image
確認系統中,是否有docker image?
USERNAME@PC:~$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
android11_en1227 latest 7812c92c2149 2 months ago 7.33GB
查詢自己的UID,因為Docker啟動後,需要存取你在系統的檔案資料,所以需要同步UID
USERNAME@PC:~$ id USERNAME
uid=1009(USERNAME) gid=1009(USERNAME) groups=1009(USERNAME),133(docker)
啟動Docker容器
docker run -it --name android_build_env android11_en1227:latest /bin/bash
在Docker容器內,新增使用者 (輸入跟本機相同帳號密碼)
root@CONTAINER ID:/#adduser USERNAME
=====================================================
Adding user `USERNAME' ...
Adding new group `USERNAME' (1000) ...
Adding new user `USERNAME' (1000) with group `USERNAME' ...
Creating home directory `/home/USERNAME' ...
Copying files from `/etc/skel' ...
Enter new UNIX password: YOUER PASSWORD
Retype new UNIX password: YOUER PASSWORD
passwd: password updated successfully
Changing the user information for hunglin
Enter the new value, or press ENTER for the default
Full Name []: USERNAME
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n] Y
查詢UID,如果與本機不同,請接續下面command修改
id USERNAME Ex. uid=1001(USERNAME) gid=1001(USERNAME) groups=1000(USERNAME),121(docker)
修改UID/GID,與本機相同
usermod -u 1019 USERNAME
groupmod -g 1019 USERNAME
修改完成後,再透過id command確認,確認後,執行exit離開docker
儲存該階段docker容器
>>> 取得docker容器ID <<<
USERNAME@TPVPC:~$ docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7812c92c2149 android11_en1227:latest "/bin/bash" 20 hours ago Exited (0) 22 hours ago android_build_env
>>> 將這個docker打一個新的tag <<<
USERNAME@PC:~$ docker commit -m "commit message” CONTAINER_ID IMAGE:new_tag
ex. docker commit -m "add USERNAME" 7812c92c2149 android11_en1227:USERNAME
儲存後,將剛剛的docker容器停掉並卸載
停止容器
docker stop [nick_name or id]
ex. docker stop t32_build_env
卸載容器
docker rm [nick_name or id]
ex. docker rm t32_build_env
No comments:
Post a Comment