103 слова | 1 минута
Docker
Docker-образ
Вы можете упаковать все сервисы в один Docker-образ с помощью Docker Compose:
Создайте Docker-образ из вашего docker-compose.yml файла:
docker-compose build
Создайте образ на Docker Hub:
docker login --username dementievnet
# ввести токен
docker ps
docker tag php8 dementievnet/php:8.1.27
docker push dementievnet/php:8.1.27
На сервере, где вы хотите развернуть решение, вы можете просто скачать и запустить этот образ:
docker pull your-username/your-image-name
docker run -d your-username/your-image-name
Команды
# сколько занято места
docker system df
# обновить приложение с незначительными изменениями
git pull origin master && docker-compose restart
# логи
docker logs php
# список
docker ps -a
# запуск
docker-compose up
# остановка
docker-compose down
# пересборка
docker-compose up --build -d
# удаление неиспользованных контейнеров
docker system prune
# удаление образов
docker images -a
docker rmi Image Image
# установка всех node-зависимостей
docker-compose run --rm node npm install
# установка node-пакета
docker-compose run --rm node npm i package_name
Редактирование образа
Скачаем образ операционной системы CentOS:
docker pull centos:latest
Войдем в скачанный образ для его изменения:
docker run -t -i centos:latest /bin/bash
Внесем небольшие изменения, например, создадим учетную запись:
[root@8f07ef93918f /]# useradd dmosk -G wheel -m
[root@8f07ef93918f /]# passwd dmosk
[root@8f07ef93918f /]# exit
В данном примере мы создали пользователя dmosk и задали ему пароль
Коммитим образ:
docker commit -m "Add user dmosk" -a "Dmitry Mosk" 8f07ef93918f centos:my
Где -m — параметр для указания комментария; -a — указывает автора; 8f07ef93918f — идентификатор контейнера, который был нами изменен (его можно было увидеть в приглашении командной строки); centos:my — название нашего нового образа.
Bash
docker exec -it ws_node /bin/bash
cd /home/node/app/app/workspace.ru/local/templates/tender_v2/development/source/js/vue/workspace/
npm install
npm run serve