Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @api_view(['GET'])
- def docker_api(request):
- # declare variables
- # instance
- name_comapny = "instance_one"
- instance_odoo = name_comapny+"_odoo"
- instance_db = name_comapny+"_db"
- instance_network = name_comapny+"_default"
- # db & odoo env vars
- POSTGRES_TCP_ADDR = "db"
- POSTGRES_TP_PORT = "5432"
- PGDATA="/var/lib/postgresql/data/pgdata"
- POSTGRES_PASSWORD = "odoo"
- POSTGRES_USER = "odoo"
- client = docker.APIClient(base_url='unix://var/run/docker.sock')
- # create network for the new odoo instance
- net_id = client.create_network(
- instance_network, driver=None, options=None, ipam=None,
- check_duplicate=None, internal=False, labels=None,
- enable_ipv6=False, attachable=None, scope=None, ingress=None
- )
- # create db - postgres container
- container_db = client.create_container(
- "postgres:10",
- name=instance_db,
- host_config=client.create_host_config(
- network_mode=instance_network
- ),
- environment={
- "POSTGRES_PASSWORD":POSTGRES_PASSWORD,
- "POSTGRES_USER":POSTGRES_USER,
- "PGDATA":PGDATA
- },
- volumes=[PGDATA]
- )
- # create odoo container
- container_odoo = client.create_container(
- "odoo:11.0",
- ports=[8069],
- name=instance_odoo,
- host_config=client.create_host_config(
- port_bindings={
- 8069:8067
- },
- network_mode=instance_network,
- links={instance_db:'db'}
- ),
- environment={
- "POSTGRES_TCP_ADDR":POSTGRES_TCP_ADDR,
- "POSTGRES_TP_PORT":POSTGRES_TP_PORT,
- "POSTGRES_PASSWORD":POSTGRES_PASSWORD,
- "POSTGRES_USER":POSTGRES_USER
- }
- )
- cs = client.containers()
- return JsonResponse({'res':cs})
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement