操屁眼的视频在线免费看,日本在线综合一区二区,久久在线观看免费视频,欧美日韩精品久久综

新聞資訊

    裝docker

    windows系統(tǒng),參考 docker官方文檔

    Mac系統(tǒng),參考 docker官方文檔


    構(gòu)建自定義ODOO鏡像

    標(biāo)準(zhǔn)ODOO鏡像可能不包含特別的python模塊,或者Linux工具,此時(shí)需要 自定義 Odoo鏡像

    寫dockerfile

    編寫dockerfile,例如加入需要的python庫

    ? 10.1 git:(master) ? cat Dockerfile

    FROM odoo:10.0

    MAINTAINER Odoo S.A. <info@odoo.com>

    USER root

    COPY ./pip.conf /root/.pip/pip.conf

    RUN set -x; \

    pip install pypinyin pypdf

    # Set default user when running the container

    USER odoo

    ENTRYPOINT ["/entrypoint.sh"]

    CMD ["odoo"]

    說明: 上面的自定義鏡像,是在Odoo10 基礎(chǔ)上,安裝了 pypinyin 模塊,為了使用本地pip鏡像,例如 pip.conf 內(nèi)容

    ? 10.1 git:(master) ? cat pip.conf

    [global]

    index-url=http://mirrors.aliyun.com/pypi/simple/

    [install]

    trusted-host=mirrors.aliyun.com

    構(gòu)建鏡像

    基于dockerfile構(gòu)建鏡像

    ? 10.1 git:(master) ? docker build . -t odoo:10.1

    Sending build context to Docker daemon 3.072kB

    Step 1/8 : FROM odoo:10.0

    ---> 50bfb7575fe2

    Step 2/8 : MAINTAINER Odoo S.A. <info@odoo.com>

    ---> Using cache

    ---> 353b1366ee28

    Step 3/8 : USER root

    ---> Using cache

    ---> 27ec1ca1072c

    Step 4/8 : COPY ./pip.conf /root/.pip/pip.conf

    ---> Using cache

    ---> ebdd6547d4e1

    Step 5/8 : RUN set -x; pip install pypinyin pypdf

    ---> Using cache

    ---> 72edd5d9d792

    Step 6/8 : USER odoo

    ---> Using cache

    ---> 0cc904972ec2

    Step 7/8 : ENTRYPOINT ["/entrypoint.sh"]

    ---> Using cache

    ---> e4738346b7a3

    Step 8/8 : CMD ["odoo"]

    ---> Using cache

    ---> 793edee6ab30

    Successfully built 793edee6ab30

    Successfully tagged odoo:10.1

    這樣,就會(huì)建立odoo:10.1 鏡像

    比如 docker images查看鏡像

    ? 10.1 git:(master) ? docker images

    REPOSITORY TAG IMAGE ID CREATED SIZE

    odoo 10.1 793edee6ab30 3 days ago 894MB <<<<<

    <none> <none> 2ebbc09b340c 4 days ago 888MB

    <none> <none> 5e1be85e3ee9 4 days ago 894MB

    <none> <none> cd0e2acac50b 4 days ago 536MB

    <none> <none> 317e442f4416 4 days ago 561MB

    <none> <none> 7d6ae7c50fb6 4 days ago 549MB

    <none> <none> 73c08dfaaf64 4 days ago 546MB

    pycharm_helpers PY-183.6156.16 0430ed2d37ee 6 days ago 37.1MB

    odoo 13.0 b77d7d215af3 7 days ago 1.14GB

    <none> <none> 7b449bc0b8bd 7 days ago 535MB

    odoo 11.0 ac8c1f2da96a 11 days ago 1.07GB

    odoo 12.0 a914ad271b31 11 days ago 1.15GB

    <none> <none> 687217ff7424 2 weeks ago 84.1MB

    postgres 12 f88dfa384cc4 2 weeks ago 348MB

    odoo 10.0 50bfb7575fe2 2 weeks ago 888MB

    debian stretch-slim c2f145c34384 2 weeks ago 55.3MB

    debian buster-slim 105ec214185d 2 weeks ago 69.2MB

    debian latest 8e9f8546050d 2 weeks ago 114MB

    busybox latest 19485c79a9bb 2 months ago 1.22MB

    shadowsocks/shadowsocks-libev latest 4ae4e89442e8 2 months ago 17.4MB

    dpage/pgadmin4 latest 15aebd95450f 3 months ago 237MB

    postgres 10 897b33033d64 3 months ago 230MB

    postgres 11 53912975086f 3 months ago 312MB

    mplatform/mquery latest 0e11d82ddb1d 2 years ago 7.11MB


    使用docker compose編排 Odoo

    odoo是基于多個(gè)服務(wù),用docker compose 對這些服務(wù)進(jìn)行編排,會(huì)比較方便。

    編寫 docker-compose.yml

    編寫 docker-compose.yml 文件,內(nèi)容如下

    ? odoo10c cat docker-compose.yml

    version: '3.3'

    services:

    # Web Application Service Definition

    # --------

    #

    # All of the information needed to start up an odoo web

    # application container.

    web:

    image: odoo:10.1

    depends_on:

    - db

    - pgadmin

    # Port Mapping

    # --------

    #

    # Here we are mapping a port on the host machine (on the left)

    # to a port inside of the container (on the right.) The default

    # port on Odoo is 8069, so Odoo is running on that port inside

    # of the container. But we are going to access it locally on

    # our machine from localhost:9000.

    ports:

    - 9000:8069

    # Data Volumes

    # --------

    #

    # This defines files that we are mapping from the host machine

    # into the container.

    #

    # Right now, we are using it to map a configuration file into

    # the container and any extra odoo modules.

    volumes:

    - ./config:/etc/odoo

    # - ./addons:/mnt/extra-addons

    - ../../git-repo/geely-mts:/mnt/extra-addons

    # Odoo Environment Variables

    # --------

    #

    # The odoo image uses a few different environment

    # variables when running to connect to the postgres

    # database.

    #

    # Make sure that they are the same as the database user

    # defined in the db container environment variables.

    environment:

    - HOST=db

    - USER=odoo

    - PASSWORD=odoo

    # Database Container Service Definition

    # --------

    #

    # All of the information needed to start up a postgresql

    # container.

    db:

    image: postgres:11

    # Database Environment Variables

    # --------

    #

    # The postgresql image uses a few different environment

    # variables when running to create the database. Set the

    # username and password of the database user here.

    #

    # Make sure that they are the same as the database user

    # defined in the web container environment variables.

    environment:

    - POSTGRES_PASSWORD=odoo

    - POSTGRES_USER=odoo

    - POSTGRES_DB=postgres # Leave this set to postgres

    pgadmin:

    image: dpage/pgadmin4

    depends_on:

    - db

    environment:

    PGADMIN_DEFAULT_EMAIL: ${PGADMIN_DEFAULT_EMAIL:-admin}

    PGADMIN_DEFAULT_PASSWORD: ${PGADMIN_DEFAULT_PASSWORD:-admin}

    volumes:

    - pgadmin:/root/.pgadmin

    ports:

    - "${PGADMIN_PORT:-5050}:80"

    volumes:

    pgadmin:


    說明:

    1. 在 Odoo 服務(wù),使用自定義的鏡像,例如 Odoo:10.1

    2. 編排了 PG服務(wù)

    3. 編排 PGADMIN 方便對PG 進(jìn)行管理

    測試 docker-compose.yml

    使用 docker-compose 啟動(dòng) Odoo, 運(yùn)行命令

    ? odoo10c docker-compose up

    odoo10c_db_1 is up-to-date

    odoo10c_pgadmin_1 is up-to-date

    Recreating odoo10c_web_1 ... done

    Attaching to odoo10c_db_1, odoo10c_pgadmin_1, odoo10c_web_1

    pgadmin_1 | NOTE: Configuring authentication for SERVER mode.

    pgadmin_1 |

    pgadmin_1 | [2019-11-03 13:02:57 +0000] [1] [INFO] Starting gunicorn 19.9.0

    pgadmin_1 | [2019-11-03 13:02:57 +0000] [1] [INFO] Listening at: http://[::]:80 (1)

    第一次運(yùn)行 docker-compose 時(shí),會(huì)創(chuàng)建相關(guān)的容器,上面的例子顯示更新容器,是因?yàn)槿萜髦耙呀?jīng)創(chuàng)建好。

    此時(shí),用瀏覽器訪問 http://127.0.0.1:9000 即可訪問到 Odoo服務(wù) ; 訪問 http://127.0.0.1:5050 即可訪問到 pgadmin

    Odoo鏡像說明

    官方 Odoo鏡像會(huì)在 在 docker-compose.yml 所在目錄建立 2個(gè)目錄,用于掛載到 Odoo容器用做 volume,其中:addons掛載到 /mnt/extra-addons , 以及 config 掛載到 /etc/odoo

    Odoo容器默認(rèn)使用 /etc/odoo/odoo.conf 作為配置文件。

    所以,1,如果要自定義配置,修改 config/odoo.conf 文件即可,可以從 odoo docker 項(xiàng)目拷貝 原始 配置文件 作為 config/odoo.conf ;2,如果要掛載自定義的ADDONS,掛載到 addons 目錄即可。


    Pycharm 調(diào)用 docker compose 遠(yuǎn)程運(yùn)行Odoo

    配置pycharm 使用 docker compose

    使用 pycharm 將 Odoo 模塊項(xiàng)目導(dǎo)入

    在 preference ,選擇 項(xiàng)目解釋器

    在項(xiàng)目解釋器, 點(diǎn)擊 ??圖標(biāo),選擇 ADD

    在彈窗,選擇 docker compose

    在 server 處,選擇 docker 服務(wù)器,或者 新建docker 服務(wù)器。

    注意:

    如果是 windows平臺(tái),需要 關(guān)閉Docker TLS ,如何關(guān)閉,具體 參考PYcharm官方文檔,或者docker 文檔

    在 configuration file 選擇前面建立的服務(wù)編排 docker-compose.yml 文件

    在 service 選擇 web。 注意, Pycharm 自動(dòng)識(shí)別出 編排文件包含的所有服務(wù),并且按字母排序

    然后,點(diǎn)擊OK 確認(rèn)。

    pycharm將會(huì) 去docker容器,偵測python的版本,完成后,遠(yuǎn)程解釋器將會(huì)配置如下圖所示


    使用 遠(yuǎn)程解釋器運(yùn)行 Odoo

    建立 開發(fā)專用 Odoo配置

    因?yàn)?pycharm 會(huì)將 項(xiàng)目 掛載到 容器的 /opt/project 下,如Odoo默認(rèn)的 extra-addons不同;

    所以,需要為 開發(fā)建立一個(gè)專用的 配置文件,例如 config/odoo-dev.conf 。

    注意,這個(gè)文件存放在 docker-compose.yml文件目錄

    在這個(gè) 文件里面將 addons_path 指向 /opt/project

    例如

    addons_path=/opt/project

    備注:

    項(xiàng)目被掛載到 /opt/project 時(shí)由pycharm 生成的 docker compose 所指定

    配置 run configuration

    在 run 菜單,選擇 edit configuration,在彈窗


    在 腳本 輸入 /usr/bin/odoo

    在 參數(shù) 輸入 -c /etc/odoo/odoo-dev.conf

    在 python 解釋器,選擇 前面建立的 遠(yuǎn)程python

    運(yùn)行 Odoo

    點(diǎn)擊 run 按鈕,運(yùn)行 Odoo

    pycharm將 調(diào)用 docker compose 運(yùn)行Odoo,如圖



    轉(zhuǎn)載注明原作者 /by Jeffery

    之前寫的django代碼都是在本地,現(xiàn)在需要把它集成到docker容器里,還想繼續(xù)使用pycharm進(jìn)行編輯,下面是具體實(shí)現(xiàn)。

    (1)先備份之前的mysql數(shù)據(jù)庫

    mysqldump -uroot -p OBServer>/root/OBServer.sql

    再拉取新的同版本的mysql容器鏡像

    docker pull mysql:5.7.35

    docker pull python:3.6

    (2)編寫dockerfile

    FROM python:3.6從python3.6的容器鏡像進(jìn)行構(gòu)建

    ENV PYTHONUNBUFFERED 1

    RUN mkdir /code

    RUN mkdir /code/db

    WORKDIR /code

    ADD ./DjangoWeb/requirements.txt /code/

    RUN pip3 install -i https://pypi.tuna.tsinghua.edu.cn/simple -r requirements.txt

    ADD . /code/

    我把之前環(huán)境里面安裝過的python包都集成到了容器里面:

    [root@FNSHB109 DjangoWeb]# cat requirements.txt
    django==2.2.12
    paramiko==2.7.2
    crypto==1.4.1
    Crypto
    PyMySQL==1.0.2
    Jinja2==3.0.1
    pip==20.3.4
    channels==3.0.4
    cryptography==35.0.0
    pyzmq==22.2.1
    urllib3==1.26.6
    setuptools==44.1.1
    Automat==20.2.0
    MarkupSafe==2.0.1
    Naked==0.1.31
    certifi==2021.5.30
    charset_normalizer==2.0.4
    contextvars==2.4
    distlib==0.3.2
    distro==1.6.0
    MarkupSafe==2.0.1
    django_commands==0.7
    filelock==3.0.12
    idna==3.2
    immutables==0.16
    importlib_metadata==4.8.1
    importlib_resources==5.2.2
    MarkupSafe==2.0.1
    msgpack==1.0.2
    pycryptodome==3.10.1
    pycryptodomex==3.10.1
    six==1.16.0
    typing_extensions==3.10.0.2
    virtualenv==20.7.2
    zipp==3.5.0
    platformdirs==2.3.0
    pytz==2021.1
    PyYAML==5.4.1
    pyzmq==22.2.1
    requests==2.26.0
    shellescape==3.8.1
    sqlparse==0.4.1
    zmq
    

    (3)啟動(dòng)容器

    docker run -p 3306:3306 -v /mysite/db:/var/lib/mysql --name mysite_db_1 -dit mysql:5.7.35
    docker run -p 8000:8000 -p 8022:22 --link mysite_db_1:db -v /mysite:/code --name mysite_django_web324 -dit mysite_web324

    (4)使用pycharm進(jìn)行代碼調(diào)試

    我使用的是pycharm通過ssh遠(yuǎn)程控制docker,docker里面沒有ssh,需要安裝,其他的包比如ping什么的都可以通過下面方法在容器里面安裝

    apt-get update
    apt-get install openssh-server
    echo 'root:123456' | chpasswd
    # 將Root的密碼修改為123456
    sed -i 's/PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
    允許使用root身份登錄
    sed 's@session\s*required\s*pam_loginuid.so@session optional pam_loginuid.so@g' -i /etc/pam.d/sshd
    $ echo "export VISIBLE=now" >> /etc/profile
    service ssh restart
    

    (5)pycharm遠(yuǎn)程docker容器

    本地新建一個(gè)干凈的工程,當(dāng)然我使用的pychram專業(yè)版,不清楚社區(qū)版有沒有ssh功能。

    找到deployment下面的configuration。

    選擇sftp類型,填上需要遠(yuǎn)程的機(jī)器,端口和密碼,這個(gè)端口是docker映射到主機(jī)上的端口。

    選擇python解析器,這里調(diào)用的docker容器里面的python路徑一定要對,我這里是/usr/local/bin/python3,如果路徑不對,下面的package就沒有,就不能有一個(gè)完整的python3環(huán)境。

    配置完成后,就可以看到docker遠(yuǎn)端的代碼了,需要控制django重啟,需要配置運(yùn)行左邊的配置,后面可以直接修改代碼,修改完成后, 點(diǎn)擊重啟django服務(wù)就可以編譯新的代碼了。

網(wǎng)站首頁   |    關(guān)于我們   |    公司新聞   |    產(chǎn)品方案   |    用戶案例   |    售后服務(wù)   |    合作伙伴   |    人才招聘   |   

友情鏈接: 餐飲加盟

地址:北京市海淀區(qū)    電話:010-     郵箱:@126.com

備案號(hào):冀ICP備2024067069號(hào)-3 北京科技有限公司版權(quán)所有