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