วิธีปรับให้ docker ไม่ต้องใส่ sudo (linux/ubutu)
Published in
1 min readJan 29, 2024
หากเผลอ install docker ไปแล้วติด permission เวลาพิมพ์คำสั่ง docker ต้องคอยใส่ sudo หากไม่เข้า user ที่เป็น root แล้ว สามารถทำตามขั้นตอนดังนี้ได้เพื่อแก้ปัญหา
- สร้าง 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-compose ใส่คำสั่งแค่นี้ได้เลย
sudo chmod +x /usr/local/bin/docker-compose
docker-compose --version