Установка
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 kill amazing_keldysh
Удалить контейнер
sudo docker rm -f 689b5669d1bd
Изображения
Посмотреть список изображений
Удалить изображение
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 run -p 80:5005 -ti 82cbd74e8676
Заходим в браузере на URL:
После этого должна отобразиться веб-страница.
Работа с 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