linux
  • Введение
  • Установка программ
  • Полезные команды
  • Telnet и Curl
  • Установка Android Studio
  • Установка Unity 3D
  • Шаблоны имени
  • Форматный выбор файлов
  • Навигация по каталогам
  • Операции над файлами
  • Работа с ссылками
  • AB тестирование
  • Справка о командах
  • Композиция команд
  • Процессы и память
  • Docker
  • Bash
  • Nginx
  • Загрузка файлов через scp
  • Открытие порта
  • Jenkins
  • Kafka
Powered by GitBook
On this page
  • Установка
  • Процессы
  • Изображения
  • Пример применения
  • Работа с Docker Compose
  • Подключение к контейнеру
  • Работа с Docker Hub

Was this helpful?

Docker

Установка

sudo apt-get install apt-transport-https ca-certificates curl software-properties-common

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

sudo apt-get update

sudo apt-get install docker-ce -y

sudo docker run hello-world

Процессы

Просмотр списка процессов

sudo docker ps -a

Убить процесс

sudo docker kill amazing_keldysh

Удалить контейнер

sudo docker rm -f 689b5669d1bd

Изображения

Посмотреть список изображений

sudo docker images

Удалить изображение

sudo docker image rm IMAGE 757dc40df3aa

Пример применения

Создадим файл "package.json" со следующим содержимым:

{
  "name": "NodeDockerTest",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "dependencies": {
    "express": "^4.16.3"
  }
}

Создадим файл "index.js" со следующим содержимым:

"use strict";

let express = require("express");
let app = express();

app.use(function(req, res, next) {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
    next();
});

let port = process.env.PORT || 5005;
app.listen(port);
console.log("Server works on port: " + port);
console.log("-------------------------------------");

app.get('/*', (request, response) => {
   const dictionary = request.query;
   const a = dictionary["a"] + "";
   let s = "";
   for(let i = 0; i < 10; i++) {
       s = "" + s + "" + a + "";
   }
   response.end(s + "");
});

Создадим файл "Dockerfile" со следующим содержимым:

FROM ubuntu:16.04

MAINTAINER Maxim_Super_User

USER root

RUN apt-get -y update
RUN apt-get install -y nodejs
RUN apt-get install -y npm
RUN apt install -y nodejs-legacy

ENV APP /root/app
ADD ./ $APP
WORKDIR $APP

RUN npm install

EXPOSE 5005

CMD node index.js

Открываем терминал в папке с проектом.

Осуществляем сборку проекта.

sudo docker build -t aaa_bbb_ccc .

Смотрим список с изображениями.

sudo docker images

Осуществляем запуск.

sudo docker run -p 80:5005 -ti 82cbd74e8676

Заходим в браузере на URL:

http://localhost/

После этого должна отобразиться веб-страница.

Работа с Docker Compose

Ссылка на репозиторий с примером.

https://github.com/maxim218/Docker-Compose-Test

Взаимодействие контейнеров друг с другом.

https://github.com/maxim218/Docker-Containers-Connect-Test

Использование Nginx и Docker

https://github.com/maxim218/Nginx_Docker_Apps_Test

Репликация базы данных

https://github.com/maxim218/docker-pg-replication

Подключение к контейнеру

Подключение к уже запущенному контейнеру

docker exec -i -t 0a7d2f690bf6 bash

Работа с Docker Hub

Ссылка на репозиторий с примером

https://github.com/maxim218/first-docker-app
PreviousПроцессы и памятьNextBash

Last updated 5 years ago

Was this helpful?