/l3/users/slm/2018-12-minsk-aws/student06.BigClassRoom/user :1 :2 :3 :4 :5 :6 :7 |
|
$# sudo apt-get install go-md2man
|
$GOLANG=$(which go) make
make: *** No targets specified and no makefile found. Stop. |
$cd go
go/ gopath/ |
$cd go/
api/ bin/ doc/ lib/ misc/ pkg/ src/ test/ |
$cd go
|
$ll
total 200 drwxr-xr-x 2 user user 4096 Dec 15 02:36 api -rw-r--r-- 1 user user 55284 Dec 15 02:36 AUTHORS drwxr-xr-x 2 user user 4096 Dec 15 02:48 bin -rw-r--r-- 1 user user 1339 Dec 15 02:36 CONTRIBUTING.md -rw-r--r-- 1 user user 71070 Dec 15 02:36 CONTRIBUTORS drwxr-xr-x 8 user user 4096 Dec 15 02:36 doc -rw-r--r-- 1 user user 5686 Dec 15 02:36 favicon.ico drwxr-xr-x 3 user user 4096 Dec 15 02:36 lib -rw-r--r-- 1 user user 1479 Dec 15 02:36 LICENSE drwxr-xr-x 15 user user 4096 Dec 15 02:48 misc -rw-r--r-- 1 user user 1303 Dec 15 02:36 PATENTS drwxr-xr-x 9 user user 4096 Dec 15 02:48 pkg -rw-r--r-- 1 user user 1607 Dec 15 02:36 README.md -rw-r--r-- 1 user user 26 Dec 15 02:36 robots.txt drwxr-xr-x 46 user user 4096 Dec 15 02:36 src drwxr-xr-x 22 user user 12288 Dec 15 02:48 test -rw-r--r-- 1 user user 8 Dec 15 02:36 VERSION |
$docker pull nginx
Using default tag: latest latest: Pulling from library/nginx a5a6f2f73cd8: Pulling fs layer a5a6f2f73cd8: Pull complete 1ba02017c4b2: Pull complete 33b176c904de: Pull complete Digest: sha256:5d32f60db294b5deb55d078cd4feb410ad88e6fe77500c87d3970eca97f54dba Status: Downloaded newer image for nginx:latest |
$docker pull redis
Using default tag: latest latest: Pulling from library/redis ^C |
$cd ../gopath/
bin/ src/ |
$cd ../gopath/src/g
github.com/ golang.org/ |
$cd ../gopath/src/github.com/
coreos/ docker/ projectatomic/ projectatpmic/ Sirupsen/ |
$cd ../gopath/src/github.com/projectat
projectatomic/ projectatpmic/ |
$cd ../gopath/src/github.com/projectatomic/docker-lvm-plugin/
|
$docker pull redis
GOLANG=$(which go) make go-md2man -in man/docker-lvm-plugin.8.md -out docker-lvm-plugin.8 make: go-md2man: Command not found Makefile:15: recipe for target 'man' failed make: *** [man] Error 127 |
$sudo apt-get install go-md2man
[sudo] password for user: Reading package lists... Done Building dependency tree Reading state information... Done The following NEW packages will be installed: go-md2man 0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. Need to get 504 kB of archives. After this operation, 1,670 kB of additional disk space will be used. Get:1 http://ftp.by.debian.org/debian stretch/main amd64 go-md2man amd64 1.0.6+ds-1+b1 [504 kB] Fetched 504 kB in 0s (41.8 MB/s) Selecting previously unselected package go-md2man. (Reading database ... 144443 files and directories currently installed.) Preparing to unpack .../go-md2man_1.0.6+ds-1+b1_amd64.deb ... Unpacking go-md2man (1.0.6+ds-1+b1) ... Setting up go-md2man (1.0.6+ds-1+b1) ... Processing triggers for man-db (2.7.6.1-2) ... |
$GOLANG=$(which go) make
go-md2man -in man/docker-lvm-plugin.8.md -out docker-lvm-plugin.8 /home/user/go//bin//go build -o docker-lvm-plugin . |
$sudo systemctl restart docker-lvm-plugin
|
$vi /etc/docker/
|
$vi /etc/docker/docker-lvm-plugin
|
$to create logical volumes using docker lvm plugin. You can choose an existinn
g to create logical volumes using docker lvm plugin. You can choose an existinn d volume group name by listing volume groups on your system using `vgs` commann # OR create a new volume group using `vgcreate` command. # e.g. vgcreavg1volume_group_one /dev/hda where /dev/hda is your partition or ~ ~ ~ ~ ~ ~ ... ~ ~ ~ ~ ~ ~ ~ ~ ~ "/etc/docker/docker-lvm-plugin" 7L, 444C written |
$ssh m3
The authenticity of host 'm3 (172.20.13.189)' can't be established. ECDSA key fingerprint is SHA256:rPDJPvc+lz3cxz2KjCqU1ABB/MPL1qiQ/GBwUxPCjMw. Are you sure you want to continue connecting (yes/no)? password Please type 'yes' or 'no': yes Warning: Permanently added 'm3,172.20.13.189' (ECDSA) to the list of known hosts. user@m3's password: Linux m3 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 The programs included with the Debian GNU/Linux system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. ... # OR create a new volume group using `vgcreate` command. # e.g. vgcreate volume_group_one /dev/hda where /dev/hda is your partition or # whole disk on which physical volumes were created. VOLUME_GROUP=vg1 user@m3:~$ user@m3:~$ user@m3:~$ user@m3:~$ exit logout Connection to m3 closed. |
$pwd
/home/user/gopath/src/github.com/projectatomic/docker-lvm-plugin |
$ll ~/gopath/src/g
github.com/ golang.org/ |
$ll ~/gopath/src/github.com/
coreos/ docker/ projectatomic/ projectatpmic/ Sirupsen/ |
$cd ~/gopath/src/github.com/
|
$ll
total 20 drwxr-xr-x 3 user user 4096 Dec 21 14:53 coreos drwxr-xr-x 5 user user 4096 Dec 21 14:53 docker drwxr-xr-x 3 user user 4096 Dec 21 14:19 projectatomic drwxr-xr-x 2 user user 4096 Dec 21 14:18 projectatpmic drwxr-xr-x 3 user user 4096 Dec 21 14:19 Sirupsen |
$ll projectatpmic/
total 0 |
$rm -r projectatpmic/
|
$ll
total 16 drwxr-xr-x 3 user user 4096 Dec 21 14:53 coreos drwxr-xr-x 5 user user 4096 Dec 21 14:53 docker drwxr-xr-x 3 user user 4096 Dec 21 14:19 projectatomic drwxr-xr-x 3 user user 4096 Dec 21 14:19 Sirupsen |
$cd
|
$ll
total 123772 drwxr-xr-x 5 user user 4096 Dec 20 14:41 aws -rw-r--r-- 1 root root 127 Dec 18 10:52 credentials.csv drwxr-xr-x 2 user user 4096 Dec 17 12:15 Desktop drwxr-xr-x 7 user user 4096 Dec 21 12:54 docker-lvm-plugin drwxr-xr-x 2 user user 4096 Dec 17 12:15 Documents drwxr-xr-x 2 user user 4096 Dec 18 12:50 Downloads -rw-r--r-- 1 root root 203 Dec 20 16:26 ec2.yaml -rw-r--r-- 1 user user 13380 Dec 21 10:42 get-docker.sh -rw-r--r-- 1 user user 13 Dec 17 15:13 github.txt ... drwxr-xr-x 2 user user 4096 Dec 17 12:15 Music drwxr-xr-x 2 user user 4096 Dec 17 12:15 Pictures drwxr-xr-x 2 user user 4096 Dec 17 12:15 Public -rw------- 1 user user 1766 Dec 19 10:44 ssh-key -rw-r--r-- 1 user user 389 Dec 19 10:44 ssh-key.pub -rw-r--r-- 1 user user 0 Dec 21 12:43 start_log drwxr-xr-x 2 user user 4096 Dec 17 12:15 Templates -rw-r--r-- 1 user user 77 Dec 17 14:45 test.json -rwxr-xr-x 1 user user 116 Dec 20 16:39 test_script.sh drwxr-xr-x 2 user user 4096 Dec 17 12:15 Videos |
$sudo vg
vgcfgbackup vgconvert vgextend vgmknodes vgs vgcfgrestore vgcreate vgimport vgreduce vgscan vgchange vgdisplay vgimportclone vgremove vgsplit vgck vgexport vgmerge vgrename |
$sudo vg
vgcfgbackup vgconvert vgextend vgmknodes vgs vgcfgrestore vgcreate vgimport vgreduce vgscan vgchange vgdisplay vgimportclone vgremove vgsplit vgck vgexport vgmerge vgrename |
$sudo vgdisplay
--- Volume group --- VG Name vg1 System ID Format lvm2 Metadata Areas 1 Metadata Sequence No 2 VG Access read/write VG Status resizable MAX LV 0 Cur LV 1 Open LV 0 Max PV 0 Cur PV 1 Act PV 1 VG Size 1020.00 MiB PE Size 4.00 MiB Total PE 255 Alloc PE / Size 52 / 208.00 MiB Free PE / Size 203 / 812.00 MiB VG UUID m7v3HN-4Cen-rHyc-U11B-I4oq-FYhQ-QHMMLj |
$cd
|
$aws
aws aws.cmd aws_zsh_completer.sh aws_bash_completer aws_completer |
$aws/scripts/create_infrustructure.sh start
An error occurred (Blocked) when calling the RunInstances operation: This account is currently blocked and not recognized as a valid account. Please contact aws-verification@amazon.com if you have questions. null |
$l
Display all 113 possibilities? (y or n) l2ping localectl l2test localedef l3 lodraw l3-agent loffice l3cd lofromtemplate l3_close_session logger l3-config login l3_fix_prompt loginctl l3mass_upload logname ... libreoffice lsmod libwacom-list-local-devices lsns lightsoff lsof line lspci link lspgpot linkicc lsusb linux32 luit linux64 lwp-download linux-boot-prober lwp-dump linux-check-removal lwp-mirror |
$l
bash: l: command not found |
$cd aws/
|
$mkdir docker/qrencode
mkdir: cannot create directory ‘docker/qrencode’: No such file or directory |
$mkdir docker
|
$mkdir docker/qrencode
|
$cd docker/qrencode/
|
$ll
total 0 |
$vi Dockerfile
|
$uname -a
Linux m6 4.9.0-8-amd64 #1 SMP Debian 4.9.130-2 (2018-10-27) x86_64 GNU/Linux |
$cat /etc/r
rc0.d/ rc4.d/ reportbug.conf rpc rc1.d/ rc5.d/ resolvconf/ rsyslog.conf rc2.d/ rc6.d/ resolv.conf rsyslog.d/ rc3.d/ rcS.d/ rmt rygel.conf |
$cat /etc/r
rc0.d/ rc4.d/ reportbug.conf rpc rc1.d/ rc5.d/ resolvconf/ rsyslog.conf rc2.d/ rc6.d/ resolv.conf rsyslog.d/ rc3.d/ rcS.d/ rmt rygel.conf |
$ll aws/scripts/install
ls: cannot access 'aws/scripts/install': No such file or directory |
$cat aws/scripts/install
install2.sh install.sh |
$cat aws/scripts/install.sh
DIR="$HOME/qrencode" mkdir -p "$DIR" cd "$DIR" sudo apt-get update sudo apt-get install -y nginx git-core qrencode python-virtualenv git clone https://github.com/chubin/qrenco.de cd qrenco.de virtualenv ve/ ve/bin/pip install -r requirements.txt #sudo cp config/qrencode.conf /etc/nginx/sites-available/default curl https://raw.githubusercontent.com/DmitrySnitko/AWS/master/config/qrencode.conf | sudo tee /etc/nginx/sites-available/default mkdir -p "$DIR"/log/ nohup ve/bin/python bin/srv.py >> "$DIR"/log/qrencode.log 2>&1 & sudo /etc/init.d/nginx restart |
$systemctl restart docker-lvm-plugin
curl http://localhost:8003/Hello █████████████████████████████ █████████████████████████████ ████ ▄▄▄▄▄ █▀█ █ █ ▄▄▄▄▄ ████ ████ █ █ █▄█▄▄▀█ █ █ ████ ████ █▄▄▄█ █ ▄▄█ █▄▄▄█ ████ ████▄▄▄▄▄▄▄█ █▄█▄█▄▄▄▄▄▄▄████ ████ █▄▀▀▄ █▀▄ ▄▀▄ ▄█▄ ▀████ ████ ██▀▀ ▄▀▀▄▀▄▀▀ ▄▀ ████ ████▄▄▄▄██▄▄ █▄█ ▀█▀██████ ████ ▄▄▄▄▄ █▄▀▀▄▄█ ▀ ▄▄ ▀████ ████ █ █ █▀█▀█▄ ▀▄▀▀▀ ████ ████ █▄▄▄█ █▀ ▄ ▀▄▄█▄█▄█▄████ ████▄▄▄▄▄▄▄█▄▄███▄█▄█▄█▄█████ █████████████████████████████ █████████████████████████████ |
$docker build
"docker build" requires exactly 1 argument. See 'docker build --help'. Usage: docker build [OPTIONS] PATH | URL | - Build an image from a Dockerfile |
$docker build .
Sending build context to Docker daemon 2.048kB Step 1/5 : FROM debian:8 8: Pulling from library/debian 4b105072aa89: Downloading 4.816MB/54.36MB ^C |
$vi Dockerfile
|
$docker build .
Sending build context to Docker daemon 2.048kB Step 1/5 : FROM debian ---> 4879790bd60d Step 2/5 : RUN git clone https://github.com/chubin/qrenco.de ---> Running in 040f75b2520b /bin/sh: 1: git: not found The command '/bin/sh -c git clone https://github.com/chubin/qrenco.de' returned a non-zero code: 127 |
$vi Dockerfile
|
$docker build .
Sending build context to Docker daemon 2.048kB Step 1/6 : FROM debian ---> 4879790bd60d Step 2/6 : RUN apt-get install git ---> Running in 068a2d3dd407 Reading package lists... Building dependency tree... Reading state information... E: Unable to locate package git The command '/bin/sh -c apt-get install git' returned a non-zero code: 100 |
$vi Dockerfile
|
$docker build .
Sending build context to Docker daemon 2.048kB Step 1/6 : FROM debian ---> 4879790bd60d Step 2/6 : RUN apt-get update ---> Running in bf38df24df58 Ign:2 http://cdn-fastly.deb.debian.org/debian stretch InRelease Get:3 http://cdn-fastly.deb.debian.org/debian stretch-updates InRelease [91.0 kB] Get:4 http://cdn-fastly.deb.debian.org/debian stretch Release [118 kB] Get:1 http://security-cdn.debian.org/debian-security stretch/updates InRelease [94.3 kB] Get:5 http://cdn-fastly.deb.debian.org/debian stretch-updates/main amd64 Packages [5152 B] Get:6 http://cdn-fastly.deb.debian.org/debian stretch Release.gpg [2434 B] Get:7 http://security-cdn.debian.org/debian-security stretch/updates/main amd64 Packages [463 kB] Get:8 http://cdn-fastly.deb.debian.org/debian stretch/main amd64 Packages [7089 kB] Fetched 7863 kB in 1min 24s (93.3 kB/s) Reading package lists... Removing intermediate container bf38df24df58 ---> cbaca1d3680f Step 3/6 : RUN git clone https://github.com/chubin/qrenco.de ---> Running in 6dbc7733e7a4 /bin/sh: 1: git: not found The command '/bin/sh -c git clone https://github.com/chubin/qrenco.de' returned a non-zero code: 127 |
$vi Dockerfile
|
$docker build .
Sending build context to Docker daemon 2.048kB Step 1/7 : FROM debian:9 9: Pulling from library/debian Digest: sha256:df6ebd5e9c87d0d7381360209f3a05c62981b5c2a3ec94228da4082ba07c4f05 Status: Downloaded newer image for debian:9 ---> 4879790bd60d Step 2/7 : RUN apt-get update ---> Using cache ---> cbaca1d3680f Step 3/7 : RUN apt-get install -y git-core python-virtualenv ... New python executable in /ve/bin/python2 Also creating executable in /ve/bin/python Installing setuptools, pkg_resources, pip, wheel...done. Running virtualenv with interpreter /usr/bin/python2 Removing intermediate container 81f2a74e2d0a ---> edf05361a0f9 Step 7/7 : RUN ve/bin/pip install -r requirements.txt ---> Running in 969ec2117e5d Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt' The command '/bin/sh -c ve/bin/pip install -r requirements.txt' returned a non-zero code: 1 |
$vi Dockerfile
|
$docker build .
Sending build context to Docker daemon 2.048kB Step 1/6 : FROM debian:9 ---> 4879790bd60d Step 2/6 : RUN apt-get update ---> Using cache ---> cbaca1d3680f Step 3/6 : RUN apt-get install -y git-core python-virtualenv ---> Using cache ---> 2610b9e17537 Step 4/6 : RUN git clone https://github.com/chubin/qrenco.de ... New python executable in /qrenco.de/ve/bin/python2 Also creating executable in /qrenco.de/ve/bin/python Installing setuptools, pkg_resources, pip, wheel...done. Running virtualenv with interpreter /usr/bin/python2 Removing intermediate container dc48b7f1f7db ---> b36f6e88b554 Step 6/6 : RUN qrenco.de/ve/bin/pip install -r requirements.txt ---> Running in 7c930fe4a3eb Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt' The command '/bin/sh -c qrenco.de/ve/bin/pip install -r requirements.txt' returned a non-zero code: 1 |
$vi Dockerfile
|
$docker build .
Sending build context to Docker daemon 2.048kB Step 1/6 : FROM debian:9 ---> 4879790bd60d Step 2/6 : RUN apt-get update ---> Using cache ---> cbaca1d3680f Step 3/6 : RUN apt-get install -y git-core python-virtualenv ---> Using cache ---> 2610b9e17537 Step 4/6 : RUN git clone https://github.com/chubin/qrenco.de ... New python executable in /qrenco.de/ve/bin/python2 Also creating executable in /qrenco.de/ve/bin/python Installing setuptools, pkg_resources, pip, wheel...done. Running virtualenv with interpreter /usr/bin/python2 Removing intermediate container 7012df70aa49 ---> 59e2cdab9f5f Step 6/6 : RUN /qrenco.de/ve/bin/pip install -r requirements.txt ---> Running in d1a09d50796d Could not open requirements file: [Errno 2] No such file or directory: 'requirements.txt' The command '/bin/sh -c /qrenco.de/ve/bin/pip install -r requirements.txt' returned a non-zero code: 1 |
$vi Dockerfile
|
$docker build .
Sending build context to Docker daemon 2.048kB Step 1/5 : FROM debian:9 ---> 4879790bd60d Step 2/5 : RUN apt-get update ---> Using cache ---> cbaca1d3680f Step 3/5 : RUN apt-get install -y git-core python-virtualenv ---> Using cache ---> 2610b9e17537 Step 4/5 : RUN git clone https://github.com/chubin/qrenco.de ... Downloading https://files.pythonhosted.org/packages/9f/e0/accfc1b56b57e9750eba272e24c4dddeac86852c2bebd1236674d7887e8a/certifi-2018.11.29-py2.py3-none-any.whl (154kB) Collecting six>=1.5 (from python-dateutil->-r requirements.txt (line 4)) Downloading https://files.pythonhosted.org/packages/73/fb/00a976f728d0d1fecfe898238ce23f502a721c0ac0ecfedb80e0d88c64e9/six-1.12.0-py2.py3-none-any.whl Collecting MarkupSafe>=0.23 (from Jinja2>=2.10->flask->-r requirements.txt (line 2)) Downloading https://files.pythonhosted.org/packages/bc/3a/6bfd7b4b202fa33bdda8e4e3d3acc719f381fd730f9a0e7c5f34e845bd4d/MarkupSafe-1.1.0-cp27-cp27mu-manylinux1_x86_64.whl Installing collected packages: greenlet, gevent, click, Werkzeug, itsdangerous, MarkupSafe, Jinja2, flask, urllib3, idna, chardet, certifi, requests, six, python-dateutil Successfully installed Jinja2-2.10 MarkupSafe-1.1.0 Werkzeug-0.14.1 certifi-2018.11.29 chardet-3.0.4 click-7.0 flask-1.0.2 gevent-1.3.7 greenlet-0.4.15 idna-2.8 itsdangerous-1.1.0 python-dateutil-2.7.5 requests-2.21.0 six-1.12.0 urllib3-1.24.1 Removing intermediate container 1ead7788877b ---> 9c9805ca9955 Successfully built 9c9805ca9955 |
$vi Dockerfile
|
$docker build .
Sending build context to Docker daemon 2.048kB Step 1/7 : FROM debian:9 ---> 4879790bd60d Step 2/7 : RUN apt-get update ---> Using cache ---> cbaca1d3680f Step 3/7 : RUN apt-get install -y git-core python-virtualenv qrencode ---> Running in 2ad6ce3b2bc3 Reading package lists... Building dependency tree... ... ---> bc47d2505dde Step 6/7 : EXPOSE 8003 ---> Running in a627df02b3ab Removing intermediate container a627df02b3ab ---> 3fd56104ee06 Step 7/7 : CMD qrenco.de/ve/bin/python qrenco.de/bin/srv.py ---> Running in 2e9ba8dc1bd7 Removing intermediate container 2e9ba8dc1bd7 ---> 6c8536bee66c Successfully built 6c8536bee66c |
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1a09d50796d 59e2cdab9f5f "/bin/sh -c '/qrenco…" 14 minutes ago Exited (1) 14 minutes ago dazzling_chaplygin 7c930fe4a3eb b36f6e88b554 "/bin/sh -c 'qrenco.…" 16 minutes ago Exited (1) 16 minutes ago zen_raman 969ec2117e5d edf05361a0f9 "/bin/sh -c 've/bin/…" 18 minutes ago Exited (1) 18 minutes ago angry_mayer 6dbc7733e7a4 cbaca1d3680f "/bin/sh -c 'git clo…" 24 minutes ago Exited (127) 24 minutes ago reverent_lewin 068a2d3dd407 4879790bd60d "/bin/sh -c 'apt-get…" 26 minutes ago Exited (100) 26 minutes ago silly_keldysh 040f75b2520b 4879790bd60d "/bin/sh -c 'git clo…" 27 minutes ago Exited (127) 27 minutes ago gifted_nightingale |
$docker images
REPOSITORY TAG IMAGE ID CREATED SIZE <none> <none> 6c8536bee66c About a minute ago 337MB <none> <none> 9c9805ca9955 12 minutes ago 337MB <none> <none> 59e2cdab9f5f 15 minutes ago 305MB <none> <none> b36f6e88b554 17 minutes ago 305MB <none> <none> edf05361a0f9 19 minutes ago 305MB nginx latest 568c4670fa80 3 weeks ago 109MB ubuntu latest 93fd78260bd1 4 weeks ago 86.2MB debian 9 4879790bd60d 5 weeks ago 101MB debian latest 4879790bd60d 5 weeks ago 101MB busybox latest 59788edf1f3e 2 months ago 1.15MB |
$vi Dockerfile
|
$docker --rm build -t qrencode .
unknown flag: --rm See '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 ... 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 --rm -t qrencode build .
unknown flag: --rm |
$docker -t qrencode build --rm .
unknown shorthand flag: 't' in -t |
$docker build --rm -t qrencode .
Sending build context to Docker daemon 2.048kB Step 1/7 : FROM debian:9 ---> 4879790bd60d Step 2/7 : RUN apt-get update ---> Using cache ---> cbaca1d3680f Step 3/7 : RUN apt-get install -y git-core python-virtualenv qrencode ---> Using cache ---> 808986793eb3 Step 4/7 : RUN git clone https://github.com/chubin/qrenco.de ... ---> bc47d2505dde Step 6/7 : EXPOSE 8003 ---> Using cache ---> 3fd56104ee06 Step 7/7 : CMD cd qrenco.de && ve/bin/python bin/srv.py ---> Running in 6da25479ab34 Removing intermediate container 6da25479ab34 ---> 303c628cb1f4 Successfully built 303c628cb1f4 Successfully tagged qrencode:latest |
$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 images
REPOSITORY TAG IMAGE ID CREATED SIZE qrencode latest 303c628cb1f4 56 seconds ago 337MB <none> <none> 6c8536bee66c 7 minutes ago 337MB <none> <none> 9c9805ca9955 18 minutes ago 337MB <none> <none> 59e2cdab9f5f 21 minutes ago 305MB <none> <none> b36f6e88b554 23 minutes ago 305MB <none> <none> edf05361a0f9 25 minutes ago 305MB nginx latest 568c4670fa80 3 weeks ago 109MB ubuntu latest 93fd78260bd1 4 weeks ago 86.2MB debian 9 4879790bd60d 5 weeks ago 101MB debian latest 4879790bd60d 5 weeks ago 101MB busybox latest 59788edf1f3e 2 months ago 1.15MB |
$ps -a
PID TTY TIME CMD 530 tty1 00:00:00 gnome-session-b 557 tty1 00:00:05 gnome-shell 640 tty1 00:00:00 Xwayland 882 tty1 00:00:00 gnome-settings- 967 tty2 00:02:31 Xorg 973 tty2 00:00:00 gnome-session-b 1048 tty2 00:03:24 gnome-shell 1145 tty2 00:00:02 gnome-settings- 1167 tty2 00:00:00 tracker-miner-u ... 1194 tty2 00:00:00 tracker-miner-a 1693 pts/3 00:00:00 ssh 2654 tty2 00:06:32 firefox-esr 2697 tty2 00:02:34 Web Content 2744 tty2 00:03:44 Web Content 3105 tty2 00:00:47 Web Content 15605 pts/8 00:00:00 su 15606 pts/8 00:00:00 bash 15955 tty2 00:00:35 Web Content 27924 pts/1 00:00:00 ps |
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1a09d50796d 59e2cdab9f5f "/bin/sh -c '/qrenco…" 21 minutes ago Exited (1) 21 minutes ago dazzling_chaplygin 7c930fe4a3eb b36f6e88b554 "/bin/sh -c 'qrenco.…" 24 minutes ago Exited (1) 24 minutes ago zen_raman 969ec2117e5d edf05361a0f9 "/bin/sh -c 've/bin/…" 26 minutes ago Exited (1) 26 minutes ago angry_mayer 6dbc7733e7a4 cbaca1d3680f "/bin/sh -c 'git clo…" 32 minutes ago Exited (127) 32 minutes ago reverent_lewin 068a2d3dd407 4879790bd60d "/bin/sh -c 'apt-get…" 34 minutes ago Exited (100) 34 minutes ago silly_keldysh 040f75b2520b 4879790bd60d "/bin/sh -c 'git clo…" 35 minutes ago Exited (127) 35 minutes ago gifted_nightingale |
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d1a09d50796d 59e2cdab9f5f "/bin/sh -c '/qrenco…" 22 minutes ago Exited (1) 22 minutes ago dazzling_chaplygin 7c930fe4a3eb b36f6e88b554 "/bin/sh -c 'qrenco.…" 24 minutes ago Exited (1) 24 minutes ago zen_raman 969ec2117e5d edf05361a0f9 "/bin/sh -c 've/bin/…" 27 minutes ago Exited (1) 26 minutes ago angry_mayer 6dbc7733e7a4 cbaca1d3680f "/bin/sh -c 'git clo…" 32 minutes ago Exited (127) 32 minutes ago reverent_lewin 068a2d3dd407 4879790bd60d "/bin/sh -c 'apt-get…" 35 minutes ago Exited (100) 35 minutes ago silly_keldysh 040f75b2520b 4879790bd60d "/bin/sh -c 'git clo…" 35 minutes ago Exited (127) 35 minutes ago gifted_nightingale |
$docker rm d1a09d50796d 7c930fe4a3eb 969ec2117e5d 6dbc7733e7a4 068a2d3dd407 040f75b2520b
d1a09d50796d 7c930fe4a3eb 969ec2117e5d 6dbc7733e7a4 068a2d3dd407 040f75b2520b |
$docker rmi 6c8536bee66c
Deleted: sha256:6c8536bee66c23d39d466575ab130550985931620a448327ac0c11f9727c442f |
$docker images
REPOSITORY TAG IMAGE ID CREATED SIZE qrencode latest 303c628cb1f4 3 minutes ago 337MB nginx latest 568c4670fa80 3 weeks ago 109MB ubuntu latest 93fd78260bd1 4 weeks ago 86.2MB debian 9 4879790bd60d 5 weeks ago 101MB debian latest 4879790bd60d 5 weeks ago 101MB busybox latest 59788edf1f3e 2 months ago 1.15MB |
$docker run --rm -p 8003:8003 qrencode
::ffff:172.17.0.1 - - [2018-12-21 13:36:13] "GET /abc HTTP/1.1" 200 1320 0.007041 ::ffff:172.17.0.1 - - [2018-12-21 13:36:44] "GET /Hello HTTP/1.1" 200 1320 0.007042 ^P^P^P^C^C exit ^C ^[[17;6~ exit ^Z |
$curl localhost:8003/abc
█████████████████████████████ █████████████████████████████ ████ ▄▄▄▄▄ ███▄█ █ ▄▄▄▄▄ ████ ████ █ █ █▄█▄█▀█ █ █ ████ ████ █▄▄▄█ ██ ▀ ▄█ █▄▄▄█ ████ ████▄▄▄▄▄▄▄█ █ █▄█▄▄▄▄▄▄▄████ ████ ▄▀ ▄ ▀ ▀▄ ▄▀█▀▄▀▀████ ████▀▄ ▀▄▄█ ▄ ▀ ▄ ▀██▄▄████ ██████▄█▄█▄█▀▀▄▄█▄ ▄█▀█▀ ████ ████ ▄▄▄▄▄ █ ▄ █▄█▀█▄ █ ▄████ ████ █ █ █▄██▀▄▀▄▀▄▀ ▄████ ████ █▄▄▄█ █ ▀█ ▀ ▄ ▀▀█▀▄████ ████▄▄▄▄▄▄▄█▄▄█▄█▄▄▄██▄▄▄████ █████████████████████████████ █████████████████████████████ |
$curl localhost:8003/Hello
█████████████████████████████ █████████████████████████████ ████ ▄▄▄▄▄ █▀█ █ █ ▄▄▄▄▄ ████ ████ █ █ █▄█▄▄▀█ █ █ ████ ████ █▄▄▄█ █ ▄▄█ █▄▄▄█ ████ ████▄▄▄▄▄▄▄█ █▄█▄█▄▄▄▄▄▄▄████ ████ █▄▀▀▄ █▀▄ ▄▀▄ ▄█▄ ▀████ ████ ██▀▀ ▄▀▀▄▀▄▀▀ ▄▀ ████ ████▄▄▄▄██▄▄ █▄█ ▀█▀██████ ████ ▄▄▄▄▄ █▄▀▀▄▄█ ▀ ▄▄ ▀████ ████ █ █ █▀█▀█▄ ▀▄▀▀▀ ████ ████ █▄▄▄█ █▀ ▄ ▀▄▄█▄█▄█▄████ ████▄▄▄▄▄▄▄█▄▄███▄█▄█▄█▄█████ █████████████████████████████ █████████████████████████████ |
$docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 970d748be20a qrencode "/bin/sh -c 'cd qren…" 2 minutes ago Up 2 minutes 0.0.0.0:8003->8003/tcp jolly_mendeleev |
$docker rm -f 970d748be20a
970d748be20a |
$cd ~/aws/
|
$git status
On branch master Your branch is up-to-date with 'origin/master'. Untracked files: (use "git add <file>..." to include in what will be committed) docker/ nothing added to commit but untracked files present (use "git add" to track) |
$git add docker/
|
$git status
On branch master Your branch is up-to-date with 'origin/master'. Changes to be committed: (use "git reset HEAD <file>..." to unstage) new file: docker/qrencode/Dockerfile |
$git commit -m 'Docker script added'
[master b5b07ce] Docker script added 1 file changed, 10 insertions(+) create mode 100644 docker/qrencode/Dockerfile |
rc0.d/ rc4.d/ reportbug.conf rpc rc1.d/ rc5.d/ resolvconf/ rsyslog.conf rc2.d/ rc6.d/ resolv.conf rsyslog.d/ rc3.d/ rcS.d/ rmt rygel.conf
DIR="$HOME/qrencode" mkdir -p "$DIR" cd "$DIR" sudo apt-get update sudo apt-get install -y nginx git-core qrencode python-virtualenv git clone https://github.com/chubin/qrenco.de cd qrenco.de virtualenv ve/ ve/bin/pip install -r requirements.txt #sudo cp config/qrencode.conf /etc/nginx/sites-available/default curl https://raw.githubusercontent.com/DmitrySnitko/AWS/master/config/qrencode.conf | sudo tee /etc/nginx/sites-available/default mkdir -p "$DIR"/log/ nohup ve/bin/python bin/srv.py >> "$DIR"/log/qrencode.log 2>&1 & sudo /etc/init.d/nginx restart
Время первой команды журнала | 12:49:15 2018-12-21 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Время последней команды журнала | 14:39:16 2018-12-21 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в журнале | 101 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент команд с ненулевым кодом завершения, % | 15.84 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Процент синтаксически неверно набранных команд, % | 2.97 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Суммарное время работы с терминалом *, час | 1.33 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Количество командных строк в единицу времени, команда/мин | 1.27 | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Частота использования команд |
|
В журнал автоматически попадают все команды, данные в любом терминале системы.
Для того чтобы убедиться, что журнал на текущем терминале ведётся, и команды записываются, дайте команду 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