Jump to content

Search the Community

Showing results for tags 'docker'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • Mans
    • Linux
    • Windows
  • Coding
    • Php
    • Golang
    • JavaScript | Node.js
    • Python|Ruby
    • C|C++|C#
    • Other
    • DataBases
  • Underground
    • Security and its research
    • Hack Tools
    • Social engineering
    • Phreaking
    • TV
    • Spam
    • For beginners
  • Games
    • Generals
  • Other
    • News
    • Creative and Design
    • The Internet
    • SEO
    • Freebie
    • Training courses
    • Video Tutorials
    • Trading floor
    • Verstka
    • Talker
  • k0d.biz
    • Contests
    • Questions, comments and more
    • Site and forum news
    • Violations, complaints

Find results in...

Find results that contain...


Date Created

  • Start

    End


Last Updated

  • Start

    End


Filter by number of...

Joined

  • Start

    End


Group


About Me

Found 6 results

  1. При активной работе с контейнерами можно получить такое сообщение: ERROR: for *** Cannot start service go: driver failed programming external connectivity on endpoint *** (f76723a6233841deb20c23172b4de2e6ce74944ac25e8d356c7fefb7cfab5e66): Error starting userland proxy: listen tcp 0.0.0.0:443: bind: address already in use Где главное обьяснение ошибки: address already in use Смотрим поднятые контейнеры: docker ps -a Если у вас status контейнера, отвечающего за поднятие порта, в данном случае 443 стоит как up, то тушите его, если он вам в данный момент не нужен командой: docker stop 32са839...Вашего_контейнера В данном случае все тихо и конейнеры все спокойно лежат. Значит смотрим что вообще открыто: nmap localhost видим что как раз открыт 443, нужный нам порт. Надо узнать что его всётаки юзает использует: netstat -tulpan Видим что чтото слушает 443 но что? Для этого надо выполнить под root'om тоже самое. sudo netstat -tuplan 128031 - это pid процесса запущенного и рядом название запущенного приложения, в данном случае main Тушим процесс: sudo kill -9 128031 Процесс ляжет и контейнер теперь поднимется, так как порт мы осободили.
  2. Поменял название директории папки и запустил контейнер. При поднятии контейнеров выкинуло такое: web_1 | 2020/02/14 14:15:36 [error] 7#7: *1 FastCGI sent in stderr: "Primary script unknown" while reading response header from upstream, client: 172.26.0.1, server: ***.su, request: "GET / HTTP/1.1", upstream: "fastcgi://172.26.0.5:9000", host: "***.su" Подключился в сам контейнер: Смотрим все контейнеры: docker ps Подключаемся к нему: docker exec -it containerId bash переходим в каталог, куда смонтировали папку и видим что docker-compose.yml не прокинул папку. А не прокинул потому, что изменили имя папки, а в docker-compose.yml не изменили пути. В общем файлов нет, так как ничего не прокинуто. Проверяйти пути тщательнее.
  3. Считаю что контейнер уже создан, и необходимо сделать только сеть внутри контейнеров. Открываем docker-compose.yml и прописываем в него: networks: вашеНаименованиеСети-net: ipv4_address: "172.26.0.2" где: вашеНаименованиеСети - замените на свое название. Например "k0d-net". version: "3.6" services: nginx: build: "./Nginx" ports: - "80:80" volumes: - ./Nginx/data/site.lo:/var/www/site.lo links: - php_site networks: вашеНаименованиеСети-net: ipv4_address: "172.26.0.2" внизу файла дописываем: networks: вашеНаименованиеСети-net: external: true driver: bridge ipam: config: - subnet: 172.26.0.0/16 добавляем в систему нашу подсеть: docker network create --driver=bridge --subnet=172.26.0.0/16 --ip-range=172.26.1.0/24 --gateway=172.26.0.1 вашеНаименованиеСети-net Смотрим, добавилась ли сеть: docker network ls И теперь посмотрим полные сведения по сети: docker network inspect вашеНаименованиеСети-net Сеть поднята.
  4. Иногда требуется сделать программу, которая будет в роли слушателя порта и выполнения какой - либо операции. Все бы ничего, но частенько порт уже занят(Пример :8080). Чтобы оставить свои порты в покое: Создадим папку Go и файл docker-compose.yaml: mkdir Go touch docker-compose.yaml Создаем внутри папки Go папку с доменным именем: mkdir Go/mydomain.lo Внутри нее создаем подпапку data и файл для создания образа. mkdir Go/mydomain.lo/data touch Go/mydomain.lo/Dockerfile Внутри dada как раз и кладем наш скомпилированый заранее бинарник(и). Открываем созданный Dockerfile cd /Go/mydomain.lo vim Dockerfile Прописываем в него: FROM archlinux mkdir /go FROM - Указывает откуда взять образ. Я выбрал archlinux образ, вы можете выбрать любой другой ОС тут. ENTRYPOINT /go/вашБин, он стартанет при поднятии контейнера. Переходим обратно к docker-compose.yaml cd ../../.. vim docker-compose.yaml Прописываем в нем версию и наш сервис: Сохраняем и выходим. docker-compose up Теперь при создании контейнера - поднимется и программа, но внутри уже контейнера.
  5. При поднятии контейнера может вылететь ошибка сети. ERROR: for containers_your user specified IP address is supported only when connecting to networks with user configured subnets И вроде сеть поднята ip addr show #!!! Вслед всеобщему заблуждению статус поднятия показывает тут: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default а нет тут: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default #!!! Создание сети так не прокатит: docker network create some-net будет вылетать ошибка вышеуказанная. По сему пишите полные настройки: docker network create --driver=bridge --subnet=172.19.0.0/16 --ip-range=172.19.1.0/24 --gateway=172.19.0.1 some-net Глянуть опции можно тут. Теперь скидываем контейнер: docker-compose down И поднимаем: docker-compose up
  6. ###Образы #Чтобы посмотреть все образы $ docker images #Создание образа #Возьмем образ Ubuntu из Docker Hub и создадим из него контейнер. $ docker create -it ubuntu:16.04 bash # -it дать контейнеру интегрированый терминал: #Флаг -i оставляет STDIN открытым, даже, когда вы не присоединены к контейнеру. #Флаг -t назначает псевдо-tty контейнеру. #Создание контейнера с томом, т.е. сопоставление каталога на главной машине с каталогом внутри контейнера $ docker create -it -v $(pwd):/var/www ubuntu:latest bash #При создании нового контейнера добавьте флаг -v, чтобы указать, какой том создать. #Запуск create и start одной командой $ docker run -it -d ubuntu:16.04 bash # -d флаг, указывающий конейнеру работать отдельно, в фоновом режиме #захватываем образ nginx из Docker Hub $ docker run --name webserver -v $(pwd):/usr/sharЖe/nginx/html -d -p 8080:80 nginx # --name задает имя контейнеру # -p пробрасываем порт с локальной машины 8080 в контейнер 80 порта #Создание собственного образа по Dockerfile'у #С помощью этой команды мы не извлекли образ из Docker Hub, а вместо этого создали свой собственный. $ docker build . -t webserver:v1 # . - указывает, где находится файл Docker, который будет использоваться для сборки образа # -t отмечает тег для образа. Образ будет известен как webserver:v1. #Запустим созданный образ. #Запуск контейнера прост: задайте команду start ID контейнера. $ docker start 7643dba89904 #Удаление контейнера $ docker rm 7643dba89904 #присоединиться к контейнеру $ docker attach 7643dba89904 $ docker run -v $(pwd):/usr/share/nginx/html -d -p 8080:80 webserver:v1 $ dicker run --name anyName -t -i ubuntu #Создание конейнера - демона $ docker run --name anyName -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done" #Находим имя или ID контейнера: $ docker ps #Docker-compose $ docker-compose up (-d) #Аргумент команды docker-compose -d используется для запуска в состоянии detached, используя можно запустить $ docker-compose ps, чтобы увидеть, что в настоящее время работает $ docker-compose stop остановить работу контейнеров с помощью ##### Подключение к Docker образу # Есть 2 способа: через attach и exec #attach имеет ограничение только на один экземпляр shell (не проверял), кроме того – с ним могут быть проблемы при отключении – Ctrl+C убивает процесс контейнера. #Для attach есть опция –sig-proxy, которая не останавливает контейнер – но намного проще использовать exec. #Подключаемся: docker exec -i -t 7643dba89904 bash #или docker attach 7643dba89904 #выход: ctrl+D #После редактирования Dockerfile или docker-compose.yml файла, например, прообрасывания порта или добавления волюма, изменения не вступают автоматически! Даже если сделать restart контейнера то всё-равно ничего не изменится. Чтобы применить изменения к контейнеру его нужно пересобрать (build). docker-compose up -d --no-deps --build nginx
×
×
  • Create New...