Projekt

Obecné

Profil

« Předchozí | Další » 

Revize 28926492

Přidáno uživatelem Tomáš Ballák před asi 4 roky(ů)

Re #7900 python3 and pip settings for container

Zobrazit rozdíly:

.docker-compose-dev.yml
1 1
version: "3.2"
2 2
services:
3
       py-charm:
4
                build:
5
                        context: ./python-module
6
                        dockerfile: '../build/php-fpm/dev/Dockerfile'
7
                ports: 
8
                        - "9001:9000"
9
                volumes: 
10
                        - ./python-module:/var/python-module
11
 
12
                container_name: "heatmap_py_charm"
3 13
       php-fpm:
4
               build: './build/php-fpm/dev'
14
               build: ./build/php-fpm/dev/
5 15
               depends_on: 
6 16
                       - database
7 17
               networks:
8 18
                   - backend
9 19
               ports: 
10
                       - "9001:9000"
20
                       - "9000:9000"
11 21
               volumes:
12 22
                       - ./website/:/var/www/symfony
23
                       - ./python-module:/var/python-module
13 24
               container_name: "heatmap_php_fpm"
14
               
15 25
               environment:
16 26
                       XDEBUG_CONFIG: remote_host=172.17.0.1 #your docker network i TODO:NOT WORKING
17 27
       nginx:
.gitignore
5 5
.phpcs-cache
6 6
.php_cs.cache
7 7
database/
8
.idea
README.md
6 6

  
7 7
## 🔩 Development env
8 8

  
9
* Install **latest php**,  **[🐳 docker](https://www.docker.com/)** and **[📝 vscode](https://code.visualstudio.com/)**
9
* Install **latest php**,  **[🐳 docker](https://www.docker.com/)**, **[📝 vscode](https://code.visualstudio.com/)** and **[🐍PyCharm](https://www.jetbrains.com/pycharm/)**
10 10
* Then run `./scripts/dev/build.sh` or `scripts/dev/build.bat` in the root of the project
11 11
* When you run `docker ps` you should see these containers: **heatmap_nginx**, **heatmap_php-fpm** and **heatmap_mongodb**
12 12
* Symfony project should be available on http://localhost:80
......
18 18
  * require `./scripts/composer.sh require package_name`
19 19
### PHP Linter in vscode
20 20
* If you want check your code style is in the right format press <kbd>F1</kbd> choose `Tasks: Run Task` and `PHP Linter`
21
* If you want to format the current file just press <kbd>F1</kbd> choose `Tasks: Run Task` and `Format`
21
* If you want to format the current file just press <kbd>F1</kbd> choose 
22
`Tasks: Run Task` and `Format`
23
### PyCharm
24
* First you need to set python interpeter to the containers by **following these steps**
25
<div style="display: flex; flex-direction: row; justify-content: space-around;flex-wrap: wrap">
26
  <div style="height: 450px; display: flex; justify-content: space-between;flex-direction: column;">
27
  <img src="./guide/1.png" width="500px" style="display: block"/>
28
  <p style="background: red">A. Enter Settings (File/Preferences/Settings)</p>
29
  </div>
30
  <div style="height: 450px; display: flex; justify-content: space-between; flex-direction: column;">
31
  <img src="./guide/2.png" width="500px" height="360px" style="display: block"/>
32
  <p style="background: red">B. In the left panel choose <b>Docker</b> and in <b>Image Name</b> choose <b>heatmap_py-charm</b></p>
33
  </div>
34
  <div style="height: 450px; display: flex; justify-content: space-between;flex-direction: column;">
35
  <img src="./guide/3.png" width="500px" style="display: block"/>
36
  <p style="background: red">C. When setup is ok you will see all packages from requirements on this screen</b></p>
37
  </div>
38
</div>
39

  
40
* New dependencies put in **requirements.txt** and then run build `./scripts/dev/build.sh`
41

  
22 42
## 🚀 Production env
23 43
* To run production env on your local machine execute this `./scripts/build.sh`
build/php-fpm/dev/Dockerfile
17 17
    pip3 install --no-cache --upgrade pip setuptools wheel && \
18 18
    if [ ! -e /usr/bin/pip ]; then ln -s pip3 /usr/bin/pip ; fi
19 19

  
20

  
21
COPY xdebug.ini /etc/php7/conf.d/xdebug.ini
22
RUN echo -en "\n" >> /etc/php7/conf.d/xdebug.ini
23
RUN apk --update --no-cache add autoconf g++ make && \
24
    pecl install -f xdebug-2.9.4 && \
25
    docker-php-ext-enable xdebug && \
26
    apk del --purge autoconf g++ make
27
RUN echo zend_extension="$(find / -name 'xdebug.so')" >> /etc/php7/conf.d/xdebug.ini
28
RUN echo "**** install PHP Composer ****\n" && \
29
    curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/bin --filename=composer
20
COPY requirements.txt /requirements.txt
21
RUN pip install -r /requirements.txt
docker-compose.yml
10 10
                       - "9000:9000"
11 11
               volumes:
12 12
                       - ./website/:/var/www/symfony
13
                       - ./python-module:/var/python-module
14

  
13 15
               container_name: "heatmap_php_fpm"
14 16
       nginx:
15 17
               build: './build/nginx'
python-module/requirements.txt
1
 emoji===0.5.4
python-module/test.py
1
import emoji
2
print(emoji.emojize('Python is :thumbs_up:'))
scripts/build.sh
2 2
#Build development environment
3 3
docker-compose down
4 4
docker-compose up --build -d
5
docker-compose exec -T php-fpm composer install --no-interaction --working-dir=/var/www/symfony --no-dev
5
docker-compose exec -T php-fpm composer install --no-interaction --working-dir=/var/www/symfony --no-dev
6
docker-compose exec -T php-fpm pip install -r /var/python-module/requirements.txt
scripts/composer.sh
7 7
 \ \_____\ \_____\ \_\ \ \_\ \_\  \ \_____\/\_____\ \_____\ \_\ \_\
8 8
  \/_____/\/_____/\/_/  \/_/\/_/   \/_____/\/_____/\/_____/\/_/ /_/
9 9
EOF
10
docker-compose exec php-fpm composer --working-dir=/var/www/symfony $@
10
docker-compose exec -T php-fpm composer --working-dir=/var/www/symfony $@
scripts/dev/build.sh
2 2
#Build development environment
3 3
docker-compose down
4 4
docker-compose -f .docker-compose-dev.yml up --build -d
5

  
5 6
cat << "EOF"
6 7
 ______  ______  __    __  ______ ______  ______  ______  ______       __  __   __  ______  ______ ______  __      __        
7 8
/\  ___\/\  __ \/\ "-./  \/\  == /\  __ \/\  ___\/\  ___\/\  == \     /\ \/\ "-.\ \/\  ___\/\__  _/\  __ \/\ \    /\ \       
......
9 10
 \ \_____\ \_____\ \_\ \ \_\ \_\  \ \_____\/\_____\ \_____\ \_\ \_\    \ \_\ \_\\"\_\/\_____\ \ \_\\ \_\ \_\ \_____\ \_____\ 
10 11
  \/_____/\/_____/\/_/  \/_/\/_/   \/_____/\/_____/\/_____/\/_/ /_/     \/_/\/_/ \/_/\/_____/  \/_/ \/_/\/_/\/_____/\/_____/                                                                                                                                                                                                                                                                                                                                                                                                                                      
11 12
EOF
12
docker-compose exec php-fpm composer install --no-interaction --working-dir=/var/www/symfony
13
docker-compose exec php-fpm composer install --no-interaction --working-dir=/var/www/symfony
14
cat << "EOF"
15
 ______  __   ______     __   __   __   ______   ______  ______   __       __        
16
/\  == \/\ \ /\  == \   /\ \ /\ "-.\ \ /\  ___\ /\__  _\/\  __ \ /\ \     /\ \       
17
\ \  _-/\ \ \\ \  _-/   \ \ \\ \ \-.  \\ \___  \\/_/\ \/\ \  __ \\ \ \____\ \ \____  
18
 \ \_\   \ \_\\ \_\      \ \_\\ \_\\"\_\\/\_____\  \ \_\ \ \_\ \_\\ \_____\\ \_____\ 
19
  \/_/    \/_/ \/_/       \/_/ \/_/ \/_/ \/_____/   \/_/  \/_/\/_/ \/_____/ \/_____/                                                                                                                                                                                     
20
EOF
21
docker-compose exec php-fpm pip install -r /var/python-module/requirements.txt
scripts/dev/composer.bat
1
docker run --rm --interactive --tty --volume %CD%:/app composer %*
1
docker-compose exec php-fpm composer install --no-interaction --working-dir=/var/www/symfony
scripts/dev/pip.bat
1
docker-compose exec -T php-fpm pip install -r /var/python/requirements.txt
scripts/pip.sh
1
#install requirements pips.sh install -r /var/python/requirements.txt
2
docker-compose exec -T php-fpm pip $@

Také k dispozici: Unified diff