Closed znmeb closed 6 years ago
I am unsure as to this issue, especially as is the documented setup as per step 9 in official docker-compose django setup docs: https://docs.docker.com/compose/django/
@znmeb was this on Linux? I think Docker for Linux sets django-admin
to root permissions. You might have to run sudo chown -R $USER:$USER .
to revert to user level permissions.
Yeah, that was what I was thinking. It does execute correctly without the volume, presumably because the Dockerfiile is copying the code onto the image. I'm going to try it again with the volume and see if it's overwriting anything.
Here's what it's adding:
$ git status
On branch znmeb-merge-new-database
Your branch is up to date with 'origin/znmeb-merge-new-database'.
Untracked files:
(use "git add <file>..." to include in what will be committed)
api/migrations/0001_initial.py
rest_framework/
nothing added to commit but untracked files present (use "git add" to track)
$ ls -R rest_framework
rest_framework:
css docs fonts img js
rest_framework/css:
bootstrap.min.css bootstrap-tweaks.css default.css prettify.css
rest_framework/docs:
css fonts img js
rest_framework/docs/css:
base.css bootstrap.min.css bootstrap-theme.min.css font-awesome-4.0.3.css highlight.css jquery.json-view.min.css
rest_framework/docs/fonts:
fontawesome-webfont.eot fontawesome-webfont.woff glyphicons-halflings-regular.ttf
fontawesome-webfont.svg glyphicons-halflings-regular.eot glyphicons-halflings-regular.woff
fontawesome-webfont.ttf glyphicons-halflings-regular.svg glyphicons-halflings-regular.woff2
rest_framework/docs/img:
favicon.ico grid.png
rest_framework/docs/js:
api.js bootstrap.min.js highlight.pack.js jquery-1.10.2.min.js jquery.json-view.min.js
rest_framework/fonts:
glyphicons-halflings-regular.eot glyphicons-halflings-regular.ttf glyphicons-halflings-regular.woff2
glyphicons-halflings-regular.svg glyphicons-halflings-regular.woff
rest_framework/img:
glyphicons-halflings.png glyphicons-halflings-white.png grid.png
rest_framework/js:
ajax-form.js bootstrap.min.js coreapi-0.1.1.js csrf.js default.js jquery-1.12.4.min.js prettify-min.js
$ cat api/migrations/0001_initial.py
# Generated by Django 2.0.1 on 2018-02-18 23:30
from django.db import migrations, models
class Migration(migrations.Migration):
initial = True
dependencies = [
]
operations = [
migrations.CreateModel(
name='Crash',
fields=[
('crash_id', models.IntegerField(primary_key=True, serialize=False)),
('ser_no', models.TextField(blank=True, null=True)),
('crash_dt', models.TextField(blank=True, null=True)),
('crash_mo_no', models.IntegerField(blank=True, null=True)),
('crash_day_no', models.IntegerField(blank=True, null=True)),
('crash_yr_no', models.IntegerField(blank=True, null=True)),
('crash_wk_day_cd', models.IntegerField(blank=True, null=True)),
('crash_hr_no', models.IntegerField(blank=True, null=True)),
('crash_hr_short_desc', models.TextField(blank=True, null=True)),
('cnty_id', models.IntegerField(blank=True, null=True)),
('cnty_nm', models.TextField(blank=True, null=True)),
('city_sect_id', models.IntegerField(blank=True, null=True)),
('city_sect_nm', models.TextField(blank=True, null=True)),
('urb_area_cd', models.IntegerField(blank=True, null=True)),
('urb_area_short_nm', models.TextField(blank=True, null=True)),
('fc_cd', models.IntegerField(blank=True, null=True)),
('fc_short_desc', models.TextField(blank=True, null=True)),
('nhs_flg', models.IntegerField(blank=True, null=True)),
('hwy_no', models.IntegerField(blank=True, null=True)),
('hwy_sfx_no', models.NullBooleanField()),
('hwy_med_nm', models.TextField(blank=True, null=True)),
('rdwy_no', models.IntegerField(blank=True, null=True)),
('hwy_compnt_cd', models.IntegerField(blank=True, null=True)),
('hwy_compnt_short_desc', models.TextField(blank=True, null=True)),
('mlge_typ_cd', models.IntegerField(blank=True, null=True)),
('mlge_typ_short_desc', models.TextField(blank=True, null=True)),
('rd_con_no', models.IntegerField(blank=True, null=True)),
('lrs_val', models.TextField(blank=True, null=True)),
('lat_deg_no', models.IntegerField(blank=True, null=True)),
('lat_minute_no', models.IntegerField(blank=True, null=True)),
('lat_sec_no', models.FloatField(blank=True, null=True)),
('longtd_deg_no', models.IntegerField(blank=True, null=True)),
('longtd_minute_no', models.IntegerField(blank=True, null=True)),
('longtd_sec_no', models.FloatField(blank=True, null=True)),
('lat_dd', models.FloatField(blank=True, null=True)),
('longtd_dd', models.FloatField(blank=True, null=True)),
('specl_jrsdct_id', models.NullBooleanField()),
('specl_jrsdct_short_desc', models.NullBooleanField()),
('jrsdct_grp_cd', models.NullBooleanField()),
('jrsdct_grp_long_desc', models.NullBooleanField()),
('agy_st_no', models.TextField(blank=True, null=True)),
('st_full_nm', models.TextField(blank=True, null=True)),
('recre_rd_nm', models.NullBooleanField()),
('isect_agy_st_no', models.TextField(blank=True, null=True)),
('isect_st_full_nm', models.TextField(blank=True, null=True)),
('isect_recre_rd_nm', models.NullBooleanField()),
('isect_seq_no', models.IntegerField(blank=True, null=True)),
('from_isect_dstnc_qty', models.IntegerField(blank=True, null=True)),
('cmpss_dir_cd', models.IntegerField(blank=True, null=True)),
('mp_no', models.FloatField(blank=True, null=True)),
('post_speed_lmt_val', models.IntegerField(blank=True, null=True)),
('rd_char_cd', models.IntegerField(blank=True, null=True)),
('rd_char_short_desc', models.TextField(blank=True, null=True)),
('off_rdwy_flg', models.IntegerField(blank=True, null=True)),
('isect_typ_cd', models.IntegerField(blank=True, null=True)),
('isect_typ_short_desc', models.TextField(blank=True, null=True)),
('isect_rel_flg', models.IntegerField(blank=True, null=True)),
('rndabt_flg', models.IntegerField(blank=True, null=True)),
('drvwy_rel_flg', models.IntegerField(blank=True, null=True)),
('ln_qty', models.IntegerField(blank=True, null=True)),
('turng_leg_qty', models.IntegerField(blank=True, null=True)),
('medn_typ_cd', models.IntegerField(blank=True, null=True)),
('medn_typ_short_desc', models.TextField(blank=True, null=True)),
('impct_loc_cd', models.IntegerField(blank=True, null=True)),
('crash_typ_cd', models.TextField(blank=True, null=True)),
('crash_typ_short_desc', models.TextField(blank=True, null=True)),
('collis_typ_cd', models.TextField(blank=True, null=True)),
('collis_typ_short_desc', models.TextField(blank=True, null=True)),
('crash_svrty_cd', models.IntegerField(blank=True, null=True)),
('crash_svrty_short_desc', models.TextField(blank=True, null=True)),
('wthr_cond_cd', models.IntegerField(blank=True, null=True)),
('wthr_cond_short_desc', models.TextField(blank=True, null=True)),
('rd_surf_cond_cd', models.IntegerField(blank=True, null=True)),
('rd_surf_short_desc', models.TextField(blank=True, null=True)),
('lgt_cond_cd', models.IntegerField(blank=True, null=True)),
('lgt_cond_short_desc', models.TextField(blank=True, null=True)),
('traf_cntl_device_cd', models.IntegerField(blank=True, null=True)),
('traf_cntl_device_short_desc', models.TextField(blank=True, null=True)),
('traf_cntl_func_flg', models.IntegerField(blank=True, null=True)),
('invstg_agy_cd', models.IntegerField(blank=True, null=True)),
('invstg_agy_short_desc', models.TextField(blank=True, null=True)),
('crash_evnt_1_cd', models.IntegerField(blank=True, null=True)),
('crash_evnt_1_short_desc', models.TextField(blank=True, null=True)),
('crash_evnt_2_cd', models.IntegerField(blank=True, null=True)),
('crash_evnt_2_short_desc', models.TextField(blank=True, null=True)),
('crash_evnt_3_cd', models.IntegerField(blank=True, null=True)),
('crash_evnt_3_short_desc', models.TextField(blank=True, null=True)),
('crash_cause_1_cd', models.IntegerField(blank=True, null=True)),
('crash_cause_1_short_desc', models.TextField(blank=True, null=True)),
('crash_cause_2_cd', models.IntegerField(blank=True, null=True)),
('crash_cause_2_short_desc', models.TextField(blank=True, null=True)),
('crash_cause_3_cd', models.IntegerField(blank=True, null=True)),
('crash_cause_3_short_desc', models.TextField(blank=True, null=True)),
('schl_zone_ind', models.IntegerField(blank=True, null=True)),
('wrk_zone_ind', models.IntegerField(blank=True, null=True)),
('alchl_invlv_flg', models.IntegerField(blank=True, null=True)),
('drug_invlv_flg', models.IntegerField(blank=True, null=True)),
('crash_speed_invlv_flg', models.IntegerField(blank=True, null=True)),
('crash_hit_run_flg', models.IntegerField(blank=True, null=True)),
('pop_rng_cd', models.IntegerField(blank=True, null=True)),
('pop_rng_med_desc', models.TextField(blank=True, null=True)),
('rd_cntl_cd', models.IntegerField(blank=True, null=True)),
('rd_cntl_med_desc', models.TextField(blank=True, null=True)),
('rte_typ_cd', models.TextField(blank=True, null=True)),
('rte_id', models.TextField(blank=True, null=True)),
('rte_nm', models.TextField(blank=True, null=True)),
('reg_id', models.IntegerField(blank=True, null=True)),
('dist_id', models.TextField(blank=True, null=True)),
('seg_mrk_id', models.TextField(blank=True, null=True)),
('seg_pt_lrs_meas', models.FloatField(blank=True, null=True)),
('unloct_flg', models.IntegerField(blank=True, null=True)),
('crash_last_ud_dt', models.TextField(blank=True, null=True)),
('tot_vhcl_cnt', models.IntegerField(blank=True, null=True)),
('tot_fatal_cnt', models.IntegerField(blank=True, null=True)),
('tot_inj_lvl_a_cnt', models.IntegerField(blank=True, null=True)),
('tot_inj_lvl_b_cnt', models.IntegerField(blank=True, null=True)),
('tot_inj_lvl_c_cnt', models.IntegerField(blank=True, null=True)),
('tot_inj_cnt', models.IntegerField(blank=True, null=True)),
('tot_uninjd_age00_04_cnt', models.IntegerField(blank=True, null=True)),
('tot_uninjd_per_cnt', models.IntegerField(blank=True, null=True)),
('tot_ped_cnt', models.IntegerField(blank=True, null=True)),
('tot_ped_fatal_cnt', models.IntegerField(blank=True, null=True)),
('tot_ped_inj_lvl_a_cnt', models.IntegerField(blank=True, null=True)),
('tot_ped_inj_cnt', models.IntegerField(blank=True, null=True)),
('tot_pedcycl_cnt', models.IntegerField(blank=True, null=True)),
('tot_pedcycl_fatal_cnt', models.IntegerField(blank=True, null=True)),
('tot_pedcycl_inj_lvl_a_cnt', models.IntegerField(blank=True, null=True)),
('tot_pedcycl_inj_cnt', models.IntegerField(blank=True, null=True)),
('tot_unknwn_cnt', models.IntegerField(blank=True, null=True)),
('tot_unknwn_fatal_cnt', models.IntegerField(blank=True, null=True)),
('tot_unknwn_inj_cnt', models.IntegerField(blank=True, null=True)),
('tot_occup_cnt', models.IntegerField(blank=True, null=True)),
('tot_per_invlv_cnt', models.IntegerField(blank=True, null=True)),
('tot_sfty_equip_used_qty', models.IntegerField(blank=True, null=True)),
('tot_sfty_equip_unused_qty', models.IntegerField(blank=True, null=True)),
('tot_sfty_equip_use_unknown_qty', models.IntegerField(blank=True, null=True)),
('tot_psngr_vhcl_occ_unrestrnd_fatal_cnt', models.IntegerField(blank=True, null=True)),
('tot_mcyclst_fatal_cnt', models.IntegerField(blank=True, null=True)),
('tot_mcyclst_inj_lvl_a_cnt', models.IntegerField(blank=True, null=True)),
('tot_mcyclst_inj_cnt', models.IntegerField(blank=True, null=True)),
('tot_mcyclst_unhelmtd_fatal_cnt', models.IntegerField(blank=True, null=True)),
('tot_alchl_impaired_drvr_inv_fatal_cnt', models.IntegerField(blank=True, null=True)),
('tot_drvr_age_01_20_cnt', models.IntegerField(blank=True, null=True)),
],
options={
'db_table': 'crash',
'managed': False,
},
),
migrations.CreateModel(
name='Partic',
fields=[
('crash_id', models.IntegerField(blank=True, null=True)),
('vhcl_id', models.IntegerField(blank=True, null=True)),
('partic_id', models.IntegerField(primary_key=True, serialize=False)),
('partic_dsply_seq_no', models.IntegerField(blank=True, null=True)),
('vhcl_coded_seq_no', models.IntegerField(blank=True, null=True)),
('partic_vhcl_seq_no', models.IntegerField(blank=True, null=True)),
('partic_typ_cd', models.IntegerField(blank=True, null=True)),
('partic_typ_short_desc', models.TextField(blank=True, null=True)),
('partic_hit_run_flg', models.IntegerField(blank=True, null=True)),
('pub_empl_flg', models.IntegerField(blank=True, null=True)),
('sex_cd', models.IntegerField(blank=True, null=True)),
('age_val', models.IntegerField(blank=True, null=True)),
('drvr_lic_stat_cd', models.IntegerField(blank=True, null=True)),
('drvr_lic_stat_short_desc', models.TextField(blank=True, null=True)),
('drvr_res_stat_cd', models.IntegerField(blank=True, null=True)),
('drvr_res_short_desc', models.TextField(blank=True, null=True)),
('inj_svrty_cd', models.IntegerField(blank=True, null=True)),
('inj_svrty_short_desc', models.TextField(blank=True, null=True)),
('sfty_equip_use_cd', models.IntegerField(blank=True, null=True)),
('sfty_equip_use_short_desc', models.TextField(blank=True, null=True)),
('airbag_deploy_ind', models.IntegerField(blank=True, null=True)),
('mvmnt_cd', models.IntegerField(blank=True, null=True)),
('mvmnt_short_desc', models.TextField(blank=True, null=True)),
('cmpss_dir_from_cd', models.IntegerField(blank=True, null=True)),
('partic_cmpss_dir_from_short_desc', models.TextField(blank=True, null=True)),
('cmpss_dir_to_cd', models.IntegerField(blank=True, null=True)),
('partic_cmpss_dir_to_short_desc', models.TextField(blank=True, null=True)),
('non_motrst_loc_cd', models.IntegerField(blank=True, null=True)),
('non_motrst_loc_short_desc', models.TextField(blank=True, null=True)),
('actn_cd', models.IntegerField(blank=True, null=True)),
('actn_short_desc', models.TextField(blank=True, null=True)),
('partic_err_1_cd', models.IntegerField(blank=True, null=True)),
('partic_err_1_short_desc', models.TextField(blank=True, null=True)),
('partic_err_2_cd', models.IntegerField(blank=True, null=True)),
('partic_err_2_short_desc', models.TextField(blank=True, null=True)),
('partic_err_3_cd', models.IntegerField(blank=True, null=True)),
('partic_err_3_short_desc', models.TextField(blank=True, null=True)),
('partic_cause_1_cd', models.IntegerField(blank=True, null=True)),
('partic_cause_1_short_desc', models.TextField(blank=True, null=True)),
('partic_cause_2_cd', models.IntegerField(blank=True, null=True)),
('partic_cause_2_short_desc', models.TextField(blank=True, null=True)),
('partic_cause_3_cd', models.IntegerField(blank=True, null=True)),
('partic_cause_3_short_desc', models.TextField(blank=True, null=True)),
('partic_evnt_1_cd', models.IntegerField(blank=True, null=True)),
('partic_evnt_1_short_desc', models.TextField(blank=True, null=True)),
('partic_evnt_2_cd', models.IntegerField(blank=True, null=True)),
('partic_evnt_2_short_desc', models.TextField(blank=True, null=True)),
('partic_evnt_3_cd', models.IntegerField(blank=True, null=True)),
('partic_evnt_3_short_desc', models.NullBooleanField()),
('bac_val', models.IntegerField(blank=True, null=True)),
('alchl_use_rpt_ind', models.IntegerField(blank=True, null=True)),
('drug_use_rpt_ind', models.IntegerField(blank=True, null=True)),
('strikg_partic_flg', models.IntegerField(blank=True, null=True)),
],
options={
'db_table': 'partic',
'managed': False,
},
),
migrations.CreateModel(
name='Vhcl',
fields=[
('crash_id', models.IntegerField(blank=True, null=True)),
('vhcl_id', models.IntegerField(primary_key=True, serialize=False)),
('vhcl_coded_seq_no', models.IntegerField(blank=True, null=True)),
('vhcl_ownshp_cd', models.IntegerField(blank=True, null=True)),
('vhcl_ownshp_short_desc', models.TextField(blank=True, null=True)),
('vhcl_use_cd', models.IntegerField(blank=True, null=True)),
('vhcl_use_short_desc', models.TextField(blank=True, null=True)),
('vhcl_typ_cd', models.IntegerField(blank=True, null=True)),
('vhcl_typ_short_desc', models.TextField(blank=True, null=True)),
('emrgcy_vhcl_use_flg', models.IntegerField(blank=True, null=True)),
('trlr_qty', models.IntegerField(blank=True, null=True)),
('mvmnt_cd', models.IntegerField(blank=True, null=True)),
('mvmnt_short_desc', models.TextField(blank=True, null=True)),
('cmpss_dir_from_cd', models.IntegerField(blank=True, null=True)),
('vhcl_cmpss_dir_from_short_desc', models.TextField(blank=True, null=True)),
('cmpss_dir_to_cd', models.IntegerField(blank=True, null=True)),
('vhcl_cmpss_dir_to_short_desc', models.TextField(blank=True, null=True)),
('actn_cd', models.IntegerField(blank=True, null=True)),
('actn_short_desc', models.TextField(blank=True, null=True)),
('vhcl_cause_1_cd', models.IntegerField(blank=True, null=True)),
('vhcl_cause_1_short_desc', models.TextField(blank=True, null=True)),
('vhcl_cause_2_cd', models.IntegerField(blank=True, null=True)),
('vhcl_cause_2_short_desc', models.TextField(blank=True, null=True)),
('vhcl_cause_3_cd', models.IntegerField(blank=True, null=True)),
('vhcl_cause_3_short_desc', models.TextField(blank=True, null=True)),
('vhcl_evnt_1_cd', models.IntegerField(blank=True, null=True)),
('vhcl_evnt_1_short_desc', models.TextField(blank=True, null=True)),
('vhcl_evnt_2_cd', models.IntegerField(blank=True, null=True)),
('vhcl_evnt_2_short_desc', models.TextField(blank=True, null=True)),
('vhcl_evnt_3_cd', models.IntegerField(blank=True, null=True)),
('vhcl_evnt_3_short_desc', models.TextField(blank=True, null=True)),
('vhcl_speed_flg', models.IntegerField(blank=True, null=True)),
('vhcl_hit_run_flg', models.IntegerField(blank=True, null=True)),
('vhcl_sfty_equip_used_qty', models.IntegerField(blank=True, null=True)),
('vhcl_sfty_equip_unused_qty', models.IntegerField(blank=True, null=True)),
('vhcl_sfty_equip_use_unknwn_qty', models.IntegerField(blank=True, null=True)),
('vhcl_occup_cnt', models.IntegerField(blank=True, null=True)),
('strikg_vhcl_flg', models.IntegerField(blank=True, null=True)),
],
options={
'db_table': 'vhcl',
'managed': False,
},
),
]
Meanwhile I'm searching the web for other ways to run Django in a container. :-(
Closing - added a note to the README and added the generated files to .gitignore
.
Because
docker-compose.yml
hasfor the
api
service, anything the API container writes in/code
will also be written - asroot
- in the GitHub repo.If the container needs to write to the host filesystem, we need to find another place for it to do it and change the operating instructions. If it doesn't need to write to the host filesystem, we need to take the volume definition out of
docker-compose.yml
.