Docker : Docker使用DockerFile入门案例

1.美图

在这里插入图片描述

2.DockerFile如下

(base) lcc@lcc negix$ pwd
/Users/lcc/soft/docker/negix
(base) lcc@lcc negix$ cat myweb
FROM nginx
RUN apt-get update \
	&& apt-get install -y curl
HEALTHCHECK --interval=5s --timeout=3s \
	CMD curl -fs http://localhost/ || exit 1
(base) lcc@lcc negix$

进行构建

(base) lcc@lcc negix$ docker build -t  myweb:v1 -f /Users/lcc/soft/docker/negix/myweb .
Sending build context to Docker daemon  2.048kB
Step 1/3 : FROM nginx
 ---> ed21b7a8aee9
Step 2/3 : RUN apt-get update 	&& apt-get install -y curl
 ---> Running in 964133b17989
Get:1 http://security.debian.org/debian-security buster/updates InRelease [65.4 kB]
Get:2 http://deb.debian.org/debian buster InRelease [122 kB]
Get:3 http://security.debian.org/debian-security buster/updates/main amd64 Packages [187 kB]
Get:4 http://deb.debian.org/debian buster-updates InRelease [49.3 kB]
Get:5 http://deb.debian.org/debian buster/main amd64 Packages [7907 kB]
Get:6 http://deb.debian.org/debian buster-updates/main amd64 Packages [7380 B]
Fetched 8337 kB in 7s (1208 kB/s)
Reading package lists...
Reading package lists...
Building dependency tree...
Reading state information...
The following additional packages will be installed:
  ca-certificates krb5-locales libcurl4 libgssapi-krb5-2 libk5crypto3
  libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 libldap-common
  libnghttp2-14 libpsl5 librtmp1 libsasl2-2 libsasl2-modules
  libsasl2-modules-db libssh2-1 openssl publicsuffix
Suggested packages:
  krb5-doc krb5-user libsasl2-modules-gssapi-mit
  | libsasl2-modules-gssapi-heimdal libsasl2-modules-ldap libsasl2-modules-otp
  libsasl2-modules-sql
The following NEW packages will be installed:
  ca-certificates curl krb5-locales libcurl4 libgssapi-krb5-2 libk5crypto3
  libkeyutils1 libkrb5-3 libkrb5support0 libldap-2.4-2 libldap-common
  libnghttp2-14 libpsl5 librtmp1 libsasl2-2 libsasl2-modules
  libsasl2-modules-db libssh2-1 openssl publicsuffix
0 upgraded, 20 newly installed, 0 to remove and 1 not upgraded.
Need to get 3471 kB of archives.
After this operation, 7724 kB of additional disk space will be used.
Get:1 http://security.debian.org/debian-security buster/updates/main amd64 libcurl4 amd64 7.64.0-4+deb10u1 [331 kB]
Get:2 http://deb.debian.org/debian buster/main amd64 krb5-locales all 1.17-3 [95.4 kB]
Get:3 http://security.debian.org/debian-security buster/updates/main amd64 curl amd64 7.64.0-4+deb10u1 [264 kB]
Get:4 http://deb.debian.org/debian buster/main amd64 openssl amd64 1.1.1d-0+deb10u2 [843 kB]
Get:5 http://deb.debian.org/debian buster/main amd64 ca-certificates all 20190110 [157 kB]
Get:6 http://deb.debian.org/debian buster/main amd64 libkeyutils1 amd64 1.6-6 [15.0 kB]
Get:7 http://deb.debian.org/debian buster/main amd64 libkrb5support0 amd64 1.17-3 [65.6 kB]
Get:8 http://deb.debian.org/debian buster/main amd64 libk5crypto3 amd64 1.17-3 [121 kB]
Get:9 http://deb.debian.org/debian buster/main amd64 libkrb5-3 amd64 1.17-3 [370 kB]
Get:10 http://deb.debian.org/debian buster/main amd64 libgssapi-krb5-2 amd64 1.17-3 [158 kB]
Get:11 http://deb.debian.org/debian buster/main amd64 libsasl2-modules-db amd64 2.1.27+dfsg-1+deb10u1 [69.1 kB]
Get:12 http://deb.debian.org/debian buster/main amd64 libsasl2-2 amd64 2.1.27+dfsg-1+deb10u1 [106 kB]
Get:13 http://deb.debian.org/debian buster/main amd64 libldap-common all 2.4.47+dfsg-3+deb10u1 [89.6 kB]
Get:14 http://deb.debian.org/debian buster/main amd64 libldap-2.4-2 amd64 2.4.47+dfsg-3+deb10u1 [225 kB]
Get:15 http://deb.debian.org/debian buster/main amd64 libnghttp2-14 amd64 1.36.0-2+deb10u1 [85.0 kB]
Get:16 http://deb.debian.org/debian buster/main amd64 libpsl5 amd64 0.20.2-2 [53.7 kB]
Get:17 http://deb.debian.org/debian buster/main amd64 librtmp1 amd64 2.4+20151223.gitfa8646d.1-2 [60.5 kB]
Get:18 http://deb.debian.org/debian buster/main amd64 libssh2-1 amd64 1.8.0-2.1 [140 kB]
Get:19 http://deb.debian.org/debian buster/main amd64 libsasl2-modules amd64 2.1.27+dfsg-1+deb10u1 [104 kB]
Get:20 http://deb.debian.org/debian buster/main amd64 publicsuffix all 20190415.1030-1 [116 kB]
debconf: delaying package configuration, since apt-utils is not installed
Fetched 3471 kB in 2s (1414 kB/s)
Selecting previously unselected package krb5-locales.
(Reading database ... 7203 files and directories currently installed.)
Preparing to unpack .../00-krb5-locales_1.17-3_all.deb ...
Unpacking krb5-locales (1.17-3) ...
Selecting previously unselected package openssl.
Preparing to unpack .../01-openssl_1.1.1d-0+deb10u2_amd64.deb ...
Unpacking openssl (1.1.1d-0+deb10u2) ...
Selecting previously unselected package ca-certificates.
Preparing to unpack .../02-ca-certificates_20190110_all.deb ...
Unpacking ca-certificates (20190110) ...
Selecting previously unselected package libkeyutils1:amd64.
Preparing to unpack .../03-libkeyutils1_1.6-6_amd64.deb ...
Unpacking libkeyutils1:amd64 (1.6-6) ...
Selecting previously unselected package libkrb5support0:amd64.
Preparing to unpack .../04-libkrb5support0_1.17-3_amd64.deb ...
Unpacking libkrb5support0:amd64 (1.17-3) ...
Selecting previously unselected package libk5crypto3:amd64.
Preparing to unpack .../05-libk5crypto3_1.17-3_amd64.deb ...
Unpacking libk5crypto3:amd64 (1.17-3) ...
Selecting previously unselected package libkrb5-3:amd64.
Preparing to unpack .../06-libkrb5-3_1.17-3_amd64.deb ...
Unpacking libkrb5-3:amd64 (1.17-3) ...
Selecting previously unselected package libgssapi-krb5-2:amd64.
Preparing to unpack .../07-libgssapi-krb5-2_1.17-3_amd64.deb ...
Unpacking libgssapi-krb5-2:amd64 (1.17-3) ...
Selecting previously unselected package libsasl2-modules-db:amd64.
Preparing to unpack .../08-libsasl2-modules-db_2.1.27+dfsg-1+deb10u1_amd64.deb ...
Unpacking libsasl2-modules-db:amd64 (2.1.27+dfsg-1+deb10u1) ...
Selecting previously unselected package libsasl2-2:amd64.
Preparing to unpack .../09-libsasl2-2_2.1.27+dfsg-1+deb10u1_amd64.deb ...
Unpacking libsasl2-2:amd64 (2.1.27+dfsg-1+deb10u1) ...
Selecting previously unselected package libldap-common.
Preparing to unpack .../10-libldap-common_2.4.47+dfsg-3+deb10u1_all.deb ...
Unpacking libldap-common (2.4.47+dfsg-3+deb10u1) ...
Selecting previously unselected package libldap-2.4-2:amd64.
Preparing to unpack .../11-libldap-2.4-2_2.4.47+dfsg-3+deb10u1_amd64.deb ...
Unpacking libldap-2.4-2:amd64 (2.4.47+dfsg-3+deb10u1) ...
Selecting previously unselected package libnghttp2-14:amd64.
Preparing to unpack .../12-libnghttp2-14_1.36.0-2+deb10u1_amd64.deb ...
Unpacking libnghttp2-14:amd64 (1.36.0-2+deb10u1) ...
Selecting previously unselected package libpsl5:amd64.
Preparing to unpack .../13-libpsl5_0.20.2-2_amd64.deb ...
Unpacking libpsl5:amd64 (0.20.2-2) ...
Selecting previously unselected package librtmp1:amd64.
Preparing to unpack .../14-librtmp1_2.4+20151223.gitfa8646d.1-2_amd64.deb ...
Unpacking librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2) ...
Selecting previously unselected package libssh2-1:amd64.
Preparing to unpack .../15-libssh2-1_1.8.0-2.1_amd64.deb ...
Unpacking libssh2-1:amd64 (1.8.0-2.1) ...
Selecting previously unselected package libcurl4:amd64.
Preparing to unpack .../16-libcurl4_7.64.0-4+deb10u1_amd64.deb ...
Unpacking libcurl4:amd64 (7.64.0-4+deb10u1) ...
Selecting previously unselected package curl.
Preparing to unpack .../17-curl_7.64.0-4+deb10u1_amd64.deb ...
Unpacking curl (7.64.0-4+deb10u1) ...
Selecting previously unselected package libsasl2-modules:amd64.
Preparing to unpack .../18-libsasl2-modules_2.1.27+dfsg-1+deb10u1_amd64.deb ...
Unpacking libsasl2-modules:amd64 (2.1.27+dfsg-1+deb10u1) ...
Selecting previously unselected package publicsuffix.
Preparing to unpack .../19-publicsuffix_20190415.1030-1_all.deb ...
Unpacking publicsuffix (20190415.1030-1) ...
Setting up libkeyutils1:amd64 (1.6-6) ...
Setting up libpsl5:amd64 (0.20.2-2) ...
Setting up libsasl2-modules:amd64 (2.1.27+dfsg-1+deb10u1) ...
Setting up libnghttp2-14:amd64 (1.36.0-2+deb10u1) ...
Setting up krb5-locales (1.17-3) ...
Setting up libldap-common (2.4.47+dfsg-3+deb10u1) ...
Setting up libkrb5support0:amd64 (1.17-3) ...
Setting up libsasl2-modules-db:amd64 (2.1.27+dfsg-1+deb10u1) ...
Setting up librtmp1:amd64 (2.4+20151223.gitfa8646d.1-2) ...
Setting up libk5crypto3:amd64 (1.17-3) ...
Setting up libsasl2-2:amd64 (2.1.27+dfsg-1+deb10u1) ...
Setting up libssh2-1:amd64 (1.8.0-2.1) ...
Setting up libkrb5-3:amd64 (1.17-3) ...
Setting up openssl (1.1.1d-0+deb10u2) ...
Setting up publicsuffix (20190415.1030-1) ...
Setting up libldap-2.4-2:amd64 (2.4.47+dfsg-3+deb10u1) ...
Setting up ca-certificates (20190110) ...
debconf: unable to initialize frontend: Dialog
debconf: (TERM is not set, so the dialog frontend is not usable.)
debconf: falling back to frontend: Readline
debconf: unable to initialize frontend: Readline
debconf: (Can't locate Term/ReadLine.pm in @INC (you may need to install the Term::ReadLine module) (@INC contains: /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.28.1 /usr/local/share/perl/5.28.1 /usr/lib/x86_64-linux-gnu/perl5/5.28 /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.28 /usr/share/perl/5.28 /usr/local/lib/site_perl /usr/lib/x86_64-linux-gnu/perl-base) at /usr/share/perl5/Debconf/FrontEnd/Readline.pm line 7.)
debconf: falling back to frontend: Teletype
Updating certificates in /etc/ssl/certs...
128 added, 0 removed; done.
Setting up libgssapi-krb5-2:amd64 (1.17-3) ...
Setting up libcurl4:amd64 (7.64.0-4+deb10u1) ...
Setting up curl (7.64.0-4+deb10u1) ...
Processing triggers for libc-bin (2.28-10) ...
Processing triggers for ca-certificates (20190110) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
Removing intermediate container 964133b17989
 ---> 3994e8bd0e92
Step 3/3 : HEALTHCHECK --interval=5s --timeout=3s 	CMD curl -fs http://localhost/ || exit 1
 ---> Running in 3d8bce83d18f
Removing intermediate container 3d8bce83d18f
 ---> 14899d615b62
Successfully built 14899d615b62
Successfully tagged myweb:v1

可以看见构建成功

(base) lcc@lcc negix$ docker images
REPOSITORY                                      TAG                 IMAGE ID            CREATED             SIZE
myweb                                           v1                  14899d615b62        3 minutes ago       152MB
flink                                           1.10.0-scala_2.11   ee8ca2b11f4b        6 days ago          598MB
nginx                                           latest              ed21b7a8aee9        7 days ago          127MB
mysql                                           latest              9b51d9275906        4 weeks ago         547MB

3.启动

(base) lcc@lcc negix$ docker run -d --name web -p 9081:9081 myweb:v1
0b8af790389f9b30ea73fd68c94a2782f7e9596ca7069d1718830aec3caa8c28
(base) lcc@lcc negix$ docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                            PORTS                              NAMES
0b8af790389f        myweb:v1                  "nginx -g 'daemon of…"   5 seconds ago       Up 4 seconds (health: starting)   80/tcp, 0.0.0.0:9081->9081/tcp     web
1a7da5291778        flink:1.10.0-scala_2.11   "/docker-entrypoint.…"   14 hours ago        Up 14 hours                       6123/tcp, 0.0.0.0:8081->8081/tcp   flink-jm
00687cdc4dba        kibana:5.6                "/docker-entrypoint.…"   13 days ago         Up 46 hours                       0.0.0.0:5601->5601/tcp             kibana-56
(base) lcc@lcc negix$

健康状态改变

(base) lcc@lcc negix$ docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                            PORTS                              NAMES
0b8af790389f        myweb:v1                  "nginx -g 'daemon of…"   5 seconds ago       Up 4 seconds (health: starting)   80/tcp, 0.0.0.0:9081->9081/tcp     web
1a7da5291778        flink:1.10.0-scala_2.11   "/docker-entrypoint.…"   14 hours ago        Up 14 hours                       6123/tcp, 0.0.0.0:8081->8081/tcp   flink-jm
00687cdc4dba        kibana:5.6                "/docker-entrypoint.…"   13 days ago         Up 46 hours                       0.0.0.0:5601->5601/tcp             kibana-56
(base) lcc@lcc negix$ docker ps
CONTAINER ID        IMAGE                     COMMAND                  CREATED             STATUS                    PORTS                              NAMES
0b8af790389f        myweb:v1                  "nginx -g 'daemon of…"   23 seconds ago      Up 22 seconds (healthy)   80/tcp, 0.0.0.0:9081->9081/tcp     web
1a7da5291778        flink:1.10.0-scala_2.11   "/docker-entrypoint.…"   14 hours ago        Up 14 hours               6123/tcp, 0.0.0.0:8081->8081/tcp   flink-jm
00687cdc4dba        kibana:5.6                "/docker-entrypoint.…"   13 days ago         Up 46 hours               0.0.0.0:5601->5601/tcp             kibana-56
发布了1201 篇原创文章 · 获赞 458 · 访问量 154万+

猜你喜欢

转载自blog.csdn.net/qq_21383435/article/details/105378743