2019/07/23

Apache Docker ๆฌŠ้™ๅ•้กŒ

ๆœ€่ฟ‘ๅœจ็ทด็ฟ’ไฝฟ็”จ docker ๅปบ็ซ‹็”ขๅ“็’ฐๅขƒ,้‡ๅˆฐไธ€ๅ€‹ๆฌŠ้™ๅ•้กŒ,container ็š„ๅ…งๅฎนๆ˜ฏ้š”้›ข็š„,ไฝ†ๆˆ‘ๅ€‘็ถฒ็ซ™ๆœ‰ๅฏ่ƒฝๆœƒไฟฎไฟฎๆ”นๆ”น,ๅฆ‚ๆžœๆฏๆฌกๆ”นๅฅฝๆ‰ cp ้€ฒๅŽป็š„่ฉฑๅพˆ้บป็…ฉ,ๆ‰€ไปฅๆˆ‘ๆŽก็”จ็š„ๆ–นๅผๆ˜ฏๅฐ‡ apache container ๅ…ง็š„ /var/www/ ็›ฎ้Œ„ๆŽ›ๅ‡บไพ†,็›ดๆŽฅๅœจๆœฌๆฉŸ็ทจ่ผฏๆช”ๆกˆ,ๅฆ‚ๆžœๆ˜ฏ้œๆ…‹็ถฒ็ซ™็š„่ฉฑ้ƒฝ้‚„ๅฅฝ,ๅฆ‚ๆžœ้œ€่ฆ็”จๅˆฐๅฏซๅ…ฅๆฌŠ้™็š„ๆ™‚ๅ€™ๆœƒ็™ผ็”Ÿๅ•้กŒ。

ๆœฌๆฉŸๆช”ๆกˆ็š„ๆฌŠ้™ๆ˜ฏ root:root,ไฝ† container ๅ…ง็š„ apache ็š„ๆฌŠ้™ๆ˜ฏ www-data:www-data,ๆ‰€ไปฅ้€้Ž apache ๅŸท่กŒๆช”ๆกˆ้‡ๅˆฐ root:root ๆ™‚ 755 ๆ˜ฏๆฒ’ๆœ‰ไฝœ็”จ็š„,้–‹ 777 ๅˆไธๅฆฅ,็›ฎๅ‰็ถœๅˆ็ถฒ่ทฏ็š„่งฃๆณ•ๅฐฑๆ˜ฏๅœจๆœฌๆฉŸๅปบ็ซ‹ไธ€ๅ€‹ๅธณ่™Ÿ,็ขบๅฎšไป–็š„ uid,็„ถๅพŒๅฐ‡ container ๅ…ง็š„ www-data ๅธณ่™Ÿ uid ๆ”น็›ธๅŒ,ๅฐฑๅฏไปฅ่งฃๆฑบ้€™ไปถไบ‹,ๆญฅ้ฉŸๅฆ‚ไธ‹

$ useradd -u 3000 docker -g docker
$ chown docker -R /var/www/

Dockerfile

FROM php-apache

RUN usermod -u 3000 www-data

้€™ๆจฃ็š„่ฉฑๅค–้ƒจ็š„ๆช”ๆกˆๆฌŠ้™ๅฐฑๆ˜ฏ docker:root,่€Œ container ๅ…งๆœƒๆ˜ฏ www-data:root,ๅพŒ้ข root ๅฏไปฅๅฟฝ็•ฅ,ๅฏซๅ…ฅๆฌŠ้™ๅฐฑๅฎŒๆˆไบ†。

2019/07/10

Docker Compose Note

Docker Compose Document

version: '3'

services:
    redis:
      image: redis
      container_name: redis
      networks:
        default:
          ipv4_address: '172.18.0.12'
    nginx:
      image: nginx
      container_name: ngx
      volumes:
        - default:/data/
      networks:
        default:
          ipv4_address: '172.18.0.11'
      ports:
        - '8080:80'
      depends_on:
        - redis

networks:
  default:
    external:
      name: chan-network

volumes:
  default:
    external:
      name: chan-volume