我的项目目录上的树命令的输出显示以下布局。
其中code文件夹包含标准的wordpress文件,db文件夹是将容器sql数据映射到主机目录。
docker-compose.yml 的内容如下所示:
mariadb:
container_name: lemp-mariadb
image: mariadb
environment:
- MYSQL_ROOT_PASSWORD=root.maria
- MYSQL_DATABASE=wordpress
- MYSQL_USER=wordpress
- MYSQL_PASSWORD=wordpress
volumes:
- ./db:/var/lib/mysql
phpfpm:
container_name: lemp-fpm
image: php:7-fpm
volumes:
- ./code:/code
environment:
WORDPRESS_DB_HOST: mariadb
WORDPRESS_DB_USER: wordpress
WORDPRESS_DB_PASSWORD: wordpress
WORDPRESS_DB_NAME: wordpress
links:
- mariadb
command: docker-php-ext-install mysqli
nginx:
container_name: lemp-nginx
image: nginx:latest
ports:
- "8080:80"
volumes:
- ./code:/code
- ./site.conf:/etc/nginx/conf.d/default.conf
links:
- phpfpm
command: nginx -g 'daemon off;'
Run Code Online (Sandbox Code Playgroud)
下面是显示 nginx 配置的 site.conf 文件。
server {
listen 80;
root /code;
index index.php index.html index.htm; …Run Code Online (Sandbox Code Playgroud) 这是我的 postgres 容器的 docker-compose 文件部分。这些设置很好,但我的 django 应用程序要求该用户通过 postgresql 内的此命令拥有超级用户特权。
ALTER ROLE project_admin SUPERUSER;
Run Code Online (Sandbox Code Playgroud)
如何将其容纳在这个 docker-compose 文件中?
db:
image: postgres:latest
container_name: project-db
environment:
- POSTGRES_USER='project_admin'
- POSTGRES_PASS='projectpass'
- POSTGRES_DB='project'
Run Code Online (Sandbox Code Playgroud) 我有 Docker ID,比方说 -> KN,并创建了一个私有存储库。我也可以通过 CLI 登录 Docker Hub。我运行一个基于图像的容器并使用以下命令将该容器提交到图像
docker commit ub18 reponame/ub18 ==> successfull
Run Code Online (Sandbox Code Playgroud)
但是当我像下面一样推送该图像时,它不会上传。
Docker 映像的输出在顶部显示此映像。
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
standard/ub18 latest c8ebc0f1dd75 12 seconds ago 102MB
docker push reponame/ub18 ==> gives error
The push refers to repository [docker.io/standard/ub18]
7660ded5319c: Preparing
94e5c4ea5da6: Preparing
5d74a98c48bc: Preparing
604cbde1a4c8: Preparing
denied: requested access to the resource is denied
Run Code Online (Sandbox Code Playgroud) 我正在尝试按照通过此链接发布的教程运行与 gunicorn 和 nginx 绑定的预构建 django 项目。
如何在 Ubuntu 18.04 上使用 Postgres、Nginx 和 Gunicorn 设置 Django
项目文件夹上的 tree 命令提供此输出。
当我使用 发布项目时# python manage.py runserver,我可以查看其内容。但是当我尝试使用 unicorn 和以下命令绑定它时,它显示以下错误。
# gunicorn --bind 0.0.0.0:8000 DjangoWebsiteSample.eccomerceProject.wsgi.py
[2019-05-10 05:25:11 +0000] [1912] [INFO] Starting gunicorn 19.7.1
[2019-05-10 05:25:11 +0000] [1912] [INFO] Listening at: http://0.0.0.0:8000 (1912)
[2019-05-10 05:25:11 +0000] [1912] [INFO] Using worker: sync
[2019-05-10 05:25:11 +0000] [1916] [INFO] Booting worker with pid: 1916
[2019-05-10 05:25:11 +0000] [1916] [ERROR] Exception in worker process
Traceback (most recent …Run Code Online (Sandbox Code Playgroud)