Docker 如何进行Laradock项目部署和工作流?
我是Docker的新手,目前非常困惑 我正在尝试使用带有以下容器的Laradock设置开发环境:Docker 如何进行Laradock项目部署和工作流?,docker,docker-compose,microservices,laradock,Docker,Docker Compose,Microservices,Laradock,我是Docker的新手,目前非常困惑 我正在尝试使用带有以下容器的Laradock设置开发环境: laravel(工作空间图像) php-fpm 博士后 PG4 python(仍然没有完成配置) nginx 这在我的本地机器(Mac)上运行良好,但我不知道如何将项目上传到服务器上(这是我的目标)。我还想在“生产”服务器上开发,以检查响应时间等 我现在正在使用docker和docker compose docker-compose.yml部件: workspace: build: co
workspace:
build:
context: ./workspace
args:
- LARADOCK_PHP_VERSION=${PHP_VERSION}
- LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
- INSTALL_SUBVERSION=${WORKSPACE_INSTALL_SUBVERSION}
- INSTALL_XDEBUG=${WORKSPACE_INSTALL_XDEBUG}
- INSTALL_PHPDBG=${WORKSPACE_INSTALL_PHPDBG}
- INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
- INSTALL_SSH2=${WORKSPACE_INSTALL_SSH2}
- INSTALL_GMP=${WORKSPACE_INSTALL_GMP}
- INSTALL_SOAP=${WORKSPACE_INSTALL_SOAP}
- INSTALL_LDAP=${WORKSPACE_INSTALL_LDAP}
- INSTALL_IMAP=${WORKSPACE_INSTALL_IMAP}
- INSTALL_MONGO=${WORKSPACE_INSTALL_MONGO}
- INSTALL_AMQP=${WORKSPACE_INSTALL_AMQP}
- INSTALL_PHPREDIS=${WORKSPACE_INSTALL_PHPREDIS}
- INSTALL_MSSQL=${WORKSPACE_INSTALL_MSSQL}
- INSTALL_NODE=${WORKSPACE_INSTALL_NODE}
- NPM_REGISTRY=${WORKSPACE_NPM_REGISTRY}
- INSTALL_YARN=${WORKSPACE_INSTALL_YARN}
- INSTALL_NPM_GULP=${WORKSPACE_INSTALL_NPM_GULP}
- INSTALL_NPM_BOWER=${WORKSPACE_INSTALL_NPM_BOWER}
- INSTALL_NPM_VUE_CLI=${WORKSPACE_INSTALL_NPM_VUE_CLI}
- INSTALL_DRUSH=${WORKSPACE_INSTALL_DRUSH}
- INSTALL_DRUPAL_CONSOLE=${WORKSPACE_INSTALL_DRUPAL_CONSOLE}
- INSTALL_AEROSPIKE=${WORKSPACE_INSTALL_AEROSPIKE}
- AEROSPIKE_PHP_REPOSITORY=${AEROSPIKE_PHP_REPOSITORY}
- INSTALL_V8JS=${WORKSPACE_INSTALL_V8JS}
- COMPOSER_GLOBAL_INSTALL=${WORKSPACE_COMPOSER_GLOBAL_INSTALL}
- COMPOSER_REPO_PACKAGIST=${WORKSPACE_COMPOSER_REPO_PACKAGIST}
- INSTALL_WORKSPACE_SSH=${WORKSPACE_INSTALL_WORKSPACE_SSH}
- INSTALL_LARAVEL_ENVOY=${WORKSPACE_INSTALL_LARAVEL_ENVOY}
- INSTALL_LARAVEL_INSTALLER=${WORKSPACE_INSTALL_LARAVEL_INSTALLER}
- INSTALL_DEPLOYER=${WORKSPACE_INSTALL_DEPLOYER}
- INSTALL_PRESTISSIMO=${WORKSPACE_INSTALL_PRESTISSIMO}
- INSTALL_LINUXBREW=${WORKSPACE_INSTALL_LINUXBREW}
- INSTALL_MC=${WORKSPACE_INSTALL_MC}
- INSTALL_SYMFONY=${WORKSPACE_INSTALL_SYMFONY}
- INSTALL_PYTHON=${WORKSPACE_INSTALL_PYTHON}
- INSTALL_IMAGE_OPTIMIZERS=${WORKSPACE_INSTALL_IMAGE_OPTIMIZERS}
- INSTALL_IMAGEMAGICK=${WORKSPACE_INSTALL_IMAGEMAGICK}
- INSTALL_TERRAFORM=${WORKSPACE_INSTALL_TERRAFORM}
- INSTALL_DUSK_DEPS=${WORKSPACE_INSTALL_DUSK_DEPS}
- INSTALL_PG_CLIENT=${WORKSPACE_INSTALL_PG_CLIENT}
- INSTALL_PHALCON=${WORKSPACE_INSTALL_PHALCON}
- INSTALL_SWOOLE=${WORKSPACE_INSTALL_SWOOLE}
- INSTALL_LIBPNG=${WORKSPACE_INSTALL_LIBPNG}
- INSTALL_IONCUBE=${WORKSPACE_INSTALL_IONCUBE}
- PUID=${WORKSPACE_PUID}
- PGID=${WORKSPACE_PGID}
- CHROME_DRIVER_VERSION=${WORKSPACE_CHROME_DRIVER_VERSION}
- NODE_VERSION=${WORKSPACE_NODE_VERSION}
- YARN_VERSION=${WORKSPACE_YARN_VERSION}
- DRUSH_VERSION=${WORKSPACE_DRUSH_VERSION}
- TZ=${WORKSPACE_TIMEZONE}
- BLACKFIRE_CLIENT_ID=${BLACKFIRE_CLIENT_ID}
- BLACKFIRE_CLIENT_TOKEN=${BLACKFIRE_CLIENT_TOKEN}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
extra_hosts:
- "dockerhost:${DOCKER_HOST_IP}"
ports:
- "${WORKSPACE_SSH_PORT}:22"
tty: true
environment:
- PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
networks:
- frontend
- backend
php fpm:
php-fpm:
建造:
上下文:./php fpm
args:
-LARADOCK_PHP_VERSION=${PHP_VERSION}
-LARADOCK_PHALCON_VERSION=${PHALCON_VERSION}
-installxdebug=${PHP_FPM_INSTALL_XDEBUG}
-INSTALL_PHPDBG=${PHP_FPM_INSTALL_PHPDBG}
-INSTALL_BLACKFIRE=${INSTALL_BLACKFIRE}
-INSTALL_SSH2=${PHP_FPM_INSTALL_SSH2}
-INSTALL_SOAP=${PHP_FPM_INSTALL_SOAP}
-INSTALL_IMAP=${PHP_FPM_INSTALL_IMAP}
-INSTALL_MONGO=${PHP_FPM_INSTALL_MONGO}
-INSTALL_AMQP=${PHP_FPM_INSTALL_AMQP}
-INSTALL_MSSQL=${PHP_FPM_INSTALL_MSSQL}
-INSTALL_ZIP_ARCHIVE=${PHP_FPM_INSTALL_ZIP_ARCHIVE}
-INSTALL\u BCMATH=${PHP\u FPM\u INSTALL\u BCMATH}
-INSTALL\u GMP=${PHP\u FPM\u INSTALL\u GMP}
-INSTALL_PHPREDIS=${PHP_FPM_INSTALL_PHPREDIS}
-INSTALL_MEMCACHED=${PHP_FPM_INSTALL_MEMCACHED}
-INSTALL_OPCACHE=${PHP_FPM_INSTALL_OPCACHE}
-INSTALL_EXIF=${PHP_FPM_INSTALL_EXIF}
-INSTALL_AEROSPIKE=${PHP_FPM_INSTALL_AEROSPIKE}
-AEROSPIKE_PHP_REPOSITORY=${AEROSPIKE_PHP_REPOSITORY}
-INSTALL_MYSQLI=${PHP_FPM_INSTALL_MYSQLI}
-INSTALL_PGSQL=${PHP_FPM_INSTALL_PGSQL}
-INSTALL_PG_CLIENT=${PHP_FPM_INSTALL_PG_CLIENT}
-INSTALL_INTL=${PHP_FPM_INSTALL_INTL}
-INSTALL_GHOSTSCRIPT=${PHP_FPM_INSTALL_GHOSTSCRIPT}
-INSTALL_LDAP=${PHP_FPM_INSTALL_LDAP}
-INSTALL_PHALCON=${PHP_FPM_INSTALL_PHALCON}
-INSTALL\u SWOOLE=${PHP\u FPM\u INSTALL\u SWOOLE}
-INSTALL_IMAGE_OPTIMIZERS=${PHP_FPM_INSTALL_IMAGE_OPTIMIZERS}
-INSTALL_IMAGEMAGICK=${PHP_FPM_INSTALL_IMAGEMAGICK}
-INSTALL_CALENDAR=${PHP_FPM_INSTALL_CALENDAR}
-INSTALL_FAKETIME=${PHP_FPM_INSTALL_FAKETIME}
-INSTALL_IONCUBE=${PHP_FPM_INSTALL_IONCUBE}
卷数:
-./php fpm/php${php_VERSION}.ini:/usr/local/etc/php/php.ini
-${APP\u CODE\u PATH\u HOST}:${APP\u CODE\u PATH\u CONTAINER}
揭露:
- "9000"
额外主机:
-“dockerhost:${DOCKER\u HOST\u IP}”
环境:
-PHP_IDE_CONFIG=${PHP_IDE_CONFIG}
-DOCKER_主机=tcp://docker-in-docker:2375
-FAKETIME=${PHP\u FPM\u FAKETIME}
取决于:
-工作空间
网络:
-后端
链接:
-docker中的docker
博士后:
postgres:
image: postgres:latest
ports:
- "${POSTGRES_PORT}:${POSTGRES_PORT}"
environment:
- POSTGRES_DB=${POSTGRES_DB}
- POSTGRES_USER=${POSTGRES_USER}
- POSTGRES_PASSWORD=${POSTGRES_PASSWORD}
networks:
- backend
第4页:
pgadmin:
build: ./pgadmin
ports:
- "5050:5050"
volumes:
- ${DATA_PATH_HOST}/pgadmin-backup:/var/lib/pgadmin/storage/pgadmin4
depends_on:
- postgres
networks:
- frontend
- backend
nginx:
nginx:
build:
context: ./nginx
args:
- PHP_UPSTREAM_CONTAINER=${NGINX_PHP_UPSTREAM_CONTAINER}
- PHP_UPSTREAM_PORT=${NGINX_PHP_UPSTREAM_PORT}
- CHANGE_SOURCE=${CHANGE_SOURCE}
volumes:
- ${APP_CODE_PATH_HOST}:${APP_CODE_PATH_CONTAINER}
- ${NGINX_HOST_LOG_PATH}:/var/log/nginx
- ${NGINX_SITES_PATH}:/etc/nginx/sites-available
- ${NGINX_SSL_PATH}:/etc/nginx/ssl
ports:
- "${NGINX_HOST_HTTP_PORT}:80"
- "${NGINX_HOST_HTTPS_PORT}:443"
depends_on:
- php-fpm
networks:
- frontend
- backend
python:
python:
建造:
上下文:./python套接字
端口:
- "9095:9095"
卷数:
-${APP\u CODE\u PATH\u HOST}:${APP\u CODE\u PATH\u CONTAINER}
鉴于我拥有对服务器的sftp访问权和ssh访问权,如何部署和开发此项目?是否有任何简单的方法可以将项目部署到服务器并进行快速代码更新以进行测试?