sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
sudo yum install -y yum-utils
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum -y install docker-ce docker-ce-cli containerd.io
docker -v
systemctl enable docker
systemctl start docker
systemctl status docker
curl -L https://get.daocloud.io/docker/compose/releases/download/1.29.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
- 1. sudo groupadd docker
- 2. sudo usermod -aG docker ${USER}
- 3. sudo systemctl restart docker
- 4. su root (переключиться на root)
su ${USER} (переключиться обратно на текущего пользователя)
cd ~/funadmin-docker/www/
composer create-project funadmin/funadmin project --no-dev
{
"config": {},
"repositories": {
"packagist": {
"type": "composer",
"url": "https://mirrors.aliyun.com/composer/"
}
}
}
Метод 2: Использование Composer внутри контейнера:
docker exec -it php /bin/sh
cd /www/localhost
composer update
$ docker-compose up # создать и запустить все контейнеры
$ docker-compose up -d # создать и запустить контейнеры в фоновом режиме
$ docker-compose up nginx php mysql # создать и запустить несколько контейнеров nginx, php и mysql
$ docker-compose up -d nginx php mysql # создать и запустить контейнеры nginx, php и mysql в фоновом режиме
$ docker-compose start php # запустить службу
$ docker-compose stop php # остановить службу
$ docker-compose restart php # перезапустить службу
$ docker-compose build php # построить или перестроить службу
$ docker-compose rm php # удалить и остановить контейнер php
$ docker-compose down # остановить и удалить контейнеры, сети, образы и тома
~/.bashrc
или ~/.zshrc
и добавьте:alias dnginx='docker exec -it nginx /bin/sh'
alias dphp='docker exec -it php /bin/sh'
alias dphp56='docker exec -it php56 /bin/sh'
alias dphp54='docker exec -it php54 /bin/sh'
alias dmysql='docker exec -it mysql /bin/bash'
alias dredis='docker exec -it redis /bin/sh'
После этого вход в контейнеры станет гораздо быстрее. Например, чтобы войти в контейнер PHP:
$ dphp
ifconfig docker0
Используется для заполнения адреса хоста в extra_hosts
контейнера.
Расположение файлов журнала зависит от значений конфигурации в conf.
Nginx журнал используется чаще всего, поэтому он хранится отдельно в корневом каталоге log
.
Каталог log
сопоставляется с каталогом /var/log/nginx
в контейнере Nginx, поэтому в конфигурации Nginx необходимо указать местоположение вывода журнала, например:
error_log /var/log/nginx/nginx.localhost.error.log warn;
В большинстве случаев журналы PHP-FPM выводятся в журналы Nginx, так что дополнительная настройка не требуется.
Кроме того, рекомендуется включить ошибки в PHP напрямую:
error_reporting(E_ALL);
ini_set('error_reporting', 'on');
ini_set('display_errors', 'on');
Если это действительно необходимо, можно выполнить следующие шаги (в контейнере):
$ docker exec -it php /bin/sh
$ mkdir /var/log/php
$ cd /var/log/php
$ touch php-fpm.error.log
$ chmod a+w php-fpm.error.log
conf/php-fpm.conf
, найдите следующую строку, удалите комментарий и измените значение на:
php_admin_value[error_log] = /var/log/php/php-fpm.error.log
Поскольку MySQL в контейнере запускается пользователем mysql
, он не может самостоятельно создавать файлы журналов в /var/log
. Поэтому мы размещаем журналы MySQL в том же каталоге, что и данные, то есть в каталоге проекта mysql
, который соответствует каталогу /var/lib/mysql/
в контейнере.
slow-query-log-file = /var/lib/mysql/mysql.slow.log
log-error = /var/lib/mysql/mysql.error.log
Это конфигурация в файле mysql.conf.
По умолчанию в проекте docker-compose.yml
отключены phpMyAdmin для управления MySQL онлайн и phpRedisAdmin для управления Redis онлайн. Вы можете изменить или удалить их по мере необходимости.
Контейнер phpMyAdmin сопоставлен с портом хоста 8080
, поэтому адрес доступа к phpMyAdmin на хосте:
http://localhost:8080
Информация о подключении MySQL:
3306
Контейнер phpRedisAdmin сопоставлен с портом хоста 8081
, поэтому доступ к phpRedisAdmin на хосте осуществляется по адресу:
http://localhost:8081
Информация о подключении Redis:
6379
Чтобы использовать его в производственной среде, выполните следующие действия:
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Опубликовать ( 0 )