/l3/users/slm/2018-12-minsk-aws/student06.BigClassRoom/user :1 :2 :3 :4 :5 :6 :7 |
|
$git commit -m 'Docker script added'
[master b5b07ce] Docker script added 1 file changed, 10 insertions(+) create mode 100644 docker/qrencode/Dockerfile |
$git push
Username for 'https://github.com': DmitrySnitko Password for 'https://DmitrySnitko@github.com': Counting objects: 5, done. Delta compression using up to 4 threads. Compressing objects: 100% (3/3), done. Writing objects: 100% (5/5), 547 bytes | 0 bytes/s, done. Total 5 (delta 1), reused 0 (delta 0) remote: Resolving deltas: 100% (1/1), completed with 1 local object. To https://github.com/DmitrySnitko/aws 78d99b0..b5b07ce master -> master |
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2bb518f14ee7 qrencode "/bin/sh -c 'cd qren…" About a minute ago Up About a minute 0.0.0.0:8003->8003/tcp cocky_fermat |
$docker rm -f 2bb518f14ee7
2bb518f14ee7 |
$docker run --help
Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container Options: --add-host list Add a custom host-to-IP mapping (host:ip) -a, --attach list Attach to STDIN, STDOUT or STDERR --blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) --blkio-weight-device list Block IO weight (relative device ... <name|uid>[:<group|gid>]) --userns string User namespace to use --uts string UTS namespace to use -v, --volume list Bind mount a volume --volume-driver string Optional volume driver for the container --volumes-from list Mount volumes from the specified container(s) -w, --workdir string Working directory inside the container |
$curl http://localhost:8003/Hello
curl: (7) Failed to connect to localhost port 8003: Connection refused |
$docker run --rm -d 8003:8003 qrencode
Unable to find image '8003:8003' locally docker: Error response from daemon: pull access denied for 8003, repository does not exist or may require 'docker login'. See 'docker run --help'. |
$docker run -d 8003:8003 qrencode
Unable to find image '8003:8003' locally docker: Error response from daemon: pull access denied for 8003, repository does not exist or may require 'docker login'. See 'docker run --help'. |
$docker run -d -p 8003:8003 qrencode
c8ba21ce4a188eda7f9caeec3ca6f775f973a89f3e49a8c28a66e7cfe9153e6f |
$cd
|
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c8ba21ce4a18 qrencode "/bin/sh -c 'cd qren…" 6 seconds ago Up 5 seconds 0.0.0.0:8003->8003/tcp youthful_heisenberg |
$curl http://localhost:8003/Hello
█████████████████████████████ █████████████████████████████ ████ ▄▄▄▄▄ █▀█ █ █ ▄▄▄▄▄ ████ ████ █ █ █▄█▄▄▀█ █ █ ████ ████ █▄▄▄█ █ ▄▄█ █▄▄▄█ ████ ████▄▄▄▄▄▄▄█ █▄█▄█▄▄▄▄▄▄▄████ ████ █▄▀▀▄ █▀▄ ▄▀▄ ▄█▄ ▀████ ████ ██▀▀ ▄▀▀▄▀▄▀▀ ▄▀ ████ ████▄▄▄▄██▄▄ █▄█ ▀█▀██████ ████ ▄▄▄▄▄ █▄▀▀▄▄█ ▀ ▄▄ ▀████ ████ █ █ █▀█▀█▄ ▀▄▀▀▀ ████ ████ █▄▄▄█ █▀ ▄ ▀▄▄█▄█▄█▄████ ████▄▄▄▄▄▄▄█▄▄███▄█▄█▄█▄█████ █████████████████████████████ █████████████████████████████ |
$curl http://localhost:8003/Dmitry
█████████████████████████████ █████████████████████████████ ████ ▄▄▄▄▄ █▀ █ ▄█ ▄▄▄▄▄ ████ ████ █ █ █▄ █▀▄█ █ █ ████ ████ █▄▄▄█ █ ██▀ █ █▄▄▄█ ████ ████▄▄▄▄▄▄▄█ ▀ ▀ █▄▄▄▄▄▄▄████ ████ ▄█▄██▄▄▀▄▄███ ▄█ ▀████ █████▀▄███▄▄█▀█▀▄▄█▀▀ ▄▀ ████ ████▄▄█▄▄▄▄█ █▄▀▄█▄▀▀▀▀▄▄████ ████ ▄▄▄▄▄ █▄▀█▀▀ ██▄█▄▄▀████ ████ █ █ █▀▀▀ ██▄█ █▀ ████ ████ █▄▄▄█ █▀█ █▄▀▀ ▄█▄█▄████ ████▄▄▄▄▄▄▄█▄▄█▄▄███▄██▄█████ █████████████████████████████ █████████████████████████████ |
$ps -a
PID TTY TIME CMD 530 tty1 00:00:00 gnome-session-b 557 tty1 00:00:06 gnome-shell 640 tty1 00:00:00 Xwayland 882 tty1 00:00:00 gnome-settings- 967 tty2 00:02:50 Xorg 973 tty2 00:00:00 gnome-session-b 1048 tty2 00:03:50 gnome-shell 1145 tty2 00:00:02 gnome-settings- 1167 tty2 00:00:00 tracker-miner-u 1168 tty2 00:00:00 tracker-extract 1170 tty2 00:00:00 gsd-printer 1171 tty2 00:00:02 gnome-software 1187 tty2 00:00:00 tracker-miner-f 1192 tty2 00:00:00 evolution-alarm 1194 tty2 00:00:00 tracker-miner-a 1693 pts/3 00:00:00 ssh 29466 pts/5 00:00:00 ps |
$cat email.txt
win-di@yandex.ru |
$vi email.txt
|
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c8ba21ce4a18 qrencode "/bin/sh -c 'cd qren…" 12 minutes ago Up 12 minutes 0.0.0.0:8003->8003/tcp youthful_heisenberg |
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c8ba21ce4a18 qrencode "/bin/sh -c 'cd qren…" 12 minutes ago Up 12 minutes 0.0.0.0:8003->8003/tcp youthful_heisenberg |
$docker attach c8ba21ce4a18
^P^Cexit |
$docker --help
Usage: docker [OPTIONS] COMMAND A self-sufficient runtime for containers Options: --config string Location of client config files (default "/home/user/.docker") -D, --debug Enable debug mode -H, --host list Daemon socket(s) to connect to -l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info") ... start Start one or more stopped containers stats Display a live stream of container(s) resource usage statistics stop Stop one or more running containers tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE top Display the running processes of a container unpause Unpause all processes within one or more containers update Update configuration of one or more containers version Show the Docker version information wait Block until one or more containers stop, then print their exit codes Run 'docker COMMAND --help' for more information on a command. |
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c8ba21ce4a18 qrencode "/bin/sh -c 'cd qren…" 12 minutes ago Up 12 minutes 0.0.0.0:8003->8003/tcp youthful_heisenberg |
$docker stop c8ba21ce4a18
c8ba21ce4a18 |
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c8ba21ce4a18 qrencode "/bin/sh -c 'cd qren…" 14 minutes ago Exited (137) About a minute ago youthful_heisenberg |
$docker rm c8ba21ce4a18
c8ba21ce4a18 |
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES |
win-di@yandex.ru
Время первой команды журнала | 14:39:16 2018-12-21 | |||||||||||||||||||||
Время последней команды журнала | 15:07:21 2018-12-21 | |||||||||||||||||||||
Количество командных строк в журнале | 27 | |||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 14.81 | |||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 0.00 | |||||||||||||||||||||
Суммарное время работы с терминалом *, час | 0.47 | |||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 0.96 | |||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду w. В поле WHAT, соответствующем текущему терминалу, должна быть указана программа script.
Команды, при наборе которых были допущены синтаксические ошибки, выводятся перечёркнутым текстом:
$ l s-l bash: l: command not found |
Если код завершения команды равен нулю, команда была выполнена без ошибок. Команды, код завершения которых отличен от нуля, выделяются цветом.
$ test 5 -lt 4 |
Команды, ход выполнения которых был прерван пользователем, выделяются цветом.
$ find / -name abc find: /home/devi-orig/.gnome2: Keine Berechtigung find: /home/devi-orig/.gnome2_private: Keine Berechtigung find: /home/devi-orig/.nautilus/metafiles: Keine Berechtigung find: /home/devi-orig/.metacity: Keine Berechtigung find: /home/devi-orig/.inkscape: Keine Berechtigung ^C |
Команды, выполненные с привилегиями суперпользователя, выделяются слева красной чертой.
# id uid=0(root) gid=0(root) Gruppen=0(root) |
Изменения, внесённые в текстовый файл с помощью редактора, запоминаются и показываются в журнале в формате ed. Строки, начинающиеся символом "<", удалены, а строки, начинающиеся символом ">" -- добавлены.
$ vi ~/.bashrc
|
Для того чтобы изменить файл в соответствии с показанными в диффшоте изменениями, можно воспользоваться командой patch. Нужно скопировать изменения, запустить программу patch, указав в качестве её аргумента файл, к которому применяются изменения, и всавить скопированный текст:
$ patch ~/.bashrc |
Для того чтобы получить краткую справочную информацию о команде, нужно подвести к ней мышь. Во всплывающей подсказке появится краткое описание команды.
Если справочная информация о команде есть, команда выделяется голубым фоном, например: vi. Если справочная информация отсутствует, команда выделяется розовым фоном, например: notepad.exe. Справочная информация может отсутствовать в том случае, если (1) команда введена неверно; (2) если распознавание команды LiLaLo выполнено неверно; (3) если информация о команде неизвестна LiLaLo. Последнее возможно для редких команд.
Большие, в особенности многострочные, всплывающие подсказки лучше всего показываются браузерами KDE Konqueror, Apple Safari и Microsoft Internet Explorer. В браузерах Mozilla и Firefox они отображаются не полностью, а вместо перевода строки выводится специальный символ.
Время ввода команды, показанное в журнале, соответствует времени начала ввода командной строки, которое равно тому моменту, когда на терминале появилось приглашение интерпретатора
Имя терминала, на котором была введена команда, показано в специальном блоке. Этот блок показывается только в том случае, если терминал текущей команды отличается от терминала предыдущей.
Вывод не интересующих вас в настоящий момент элементов журнала, таких как время, имя терминала и других, можно отключить. Для этого нужно воспользоваться формой управления журналом вверху страницы.
Небольшие комментарии к командам можно вставлять прямо из командной строки. Комментарий вводится прямо в командную строку, после символов #^ или #v. Символы ^ и v показывают направление выбора команды, к которой относится комментарий: ^ - к предыдущей, v - к следующей. Например, если в командной строке было введено:
$ whoami
user
$ #^ Интересно, кто я?в журнале это будет выглядеть так:
$ whoami
user
Интересно, кто я? |
Если комментарий содержит несколько строк, его можно вставить в журнал следующим образом:
$ whoami
user
$ cat > /dev/null #^ Интересно, кто я?
Программа whoami выводит имя пользователя, под которым мы зарегистрировались в системе. - Она не может ответить на вопрос о нашем назначении в этом мире.В журнале это будет выглядеть так:
$ whoami user
|
Комментарии, не относящиеся непосредственно ни к какой из команд, добавляются точно таким же способом, только вместо симолов #^ или #v нужно использовать символы #=
1 2 3 4Группы команд, выполненных на разных терминалах, разделяются специальной линией. Под этой линией в правом углу показано имя терминала, на котором выполнялись команды. Для того чтобы посмотреть команды только одного сенса, нужно щёкнуть по этому названию.
LiLaLo (L3) расшифровывается как Live Lab Log.
Программа разработана для повышения эффективности обучения Unix/Linux-системам.
(c) Игорь Чубин, 2004-2008