Docker是很熱門的技術,但以我個人使用的範圍只需要在自己所需作業環境上使用即可,由於DOCKER是技術的總整的技術,所以看了一堆的文件後反而觀念和實作間被相互干擾。到最後反而用最原始的方法來實作就完成了。
在這裡敍述清楚,該和我有一樣困擾的人試試。
環境: MacOS, PyCharm, Docker
目標: 在python以Docker技術開發Django網站
過程:
1. 以Pycharm直接建立Django網站。
2.加入Docker以下dockfile
FROM python:3.7 RUN apt-get update \ && apt-get install -y \ postgresql-client \ sqlite3 \ && rm -fr /var/lib/apt/lists/* \ && mkdir -p /usr/src/app WORKDIR /usr/src/app COPY . /usr/src/app RUN pip install --no-cache-dir -r requirements.txt EXPOSE 8000 ENTRYPOINT ["python", "manage.py"] CMD ["runserver", "0.0.0.0:8000"]
2.1 檔案結構請參照
3. 產生image檔
4. 再以該image設定成project interpreter,詳細過程請查jetbrain官網https://www.jetbrains.com/help/pycharm/using-docker-as-a-remote-interpreter.html
5. (重要!!)執行時請從pycharm toolbar內的Run設定configuration並把Host設定成0.0.0.0
6. Django就出現在0.0.0.0:8000
以我個人的習慣都是先做做看想深入再買看的懂的書,提供有類似經驗的人分享。
資料來源:https://hub.docker.com/r/minimum/docker-django-mysite
- 使用實測結果更新:
如果也是喜觀使用圖型界面的,這個很好用
https://www.portainer.io/installation/
安裝簡單二個指另就完成了。
$ docker volume create portainer_data
$ docker run -d -p 8000:8000 -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
然後就在本機流覧器上打 http://localhost:9000 上執行即可,功能很直觀,可以搭配使用。
MYSQL 在DOCKERHUB 的image 測試成功實例
1. 先抓下來mysql 5.6 版,(最新版和phpadmin會出一些錯)並以123456建立root帳號
docker run --name mysqla -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
2. 再執行phpmyadmin進行連結
docker run --name myadmina -d --link mysqla:db -p 8089:80 phpmyadmin/phpmyadmin
再來就可以進行資料庫的CRUD