วิธีปรับให้ docker ไม่ต้องใส่ sudo (linux/ubutu)

Chanatip Trongpanyachot
LF FINTECH
Published in
1 min readJan 29, 2024

หากเผลอ install docker ไปแล้วติด permission เวลาพิมพ์คำสั่ง docker ต้องคอยใส่ sudo หากไม่เข้า user ที่เป็น root แล้ว สามารถทำตามขั้นตอนดังนี้ได้เพื่อแก้ปัญหา

  1. สร้าง docker group และ เพิ่ม user ที่ใช้อยู่ปัจจุบันลงไปใน group docker และ logout และ login ใหม่
sudo groupadd docker
sudo usermod -aG docker ${USER}
logout

2. ทดสอบคำสั่ง docker โดยไม่ใส่ sudo ดู

docker version

3. หากยังไม่สามารถใส่คำสั่งโดยไม่ใส่ sudo ได้ ให้ลองใส่คำสั่งด้านล่าง จะพบว่า permission ของ docker.sock เป็น srw-rw — — (root)

cd /var/run
ls -lrth docker.sock

ตัวอย่างผลลัพธ์

ubuntu@ip-172-31-1-245:/var/run$ ls -lrth docker.sock
srw-rw---- 1 root root 0 Jan 29 15:41 docker.sock

4. ใส่คำสั่งด้านล่าง จะพบว่า permission ของไฟล์ ได้เปลี่ยนเป็น srw-rw-rw- 1 (root docker)

sudo chmod 666 /var/run/docker.sock
ls -lrth docker.sock

ตัวอย่างผลลัพธ์

ubuntu@ip-172-31-1-245:/var/run$ sudo chmod 666 /var/run/docker.sock
ubuntu@ip-172-31-1-245:/var/run$ ls -lrth docker.sock
srw-rw-rw- 1 root docker 0 Jan 29 15:42 docker.sock

5. ทดลองคำสั่ง docker โดยไม่ใส่ sudo อีกครั้ง

docker version
ตัวอย่างผลลัพธ์ใส่คำสั่ง docker version โดยไม่ใส่ sudo

ปล. ของ docker-compose ใส่คำสั่งแค่นี้ได้เลย

sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version
ตัวอย่างผลลัพธ์ใส่คำสั่ง docker-compose โดยไม่ต้องใส่ sudo

--

--