范文健康探索娱乐情感热点
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文

Docker实践之镜像启动及常用命令

  前面简单的介绍了如何在Linux中安装 Docker ,这节内容,我们学习Docker镜像启动
  我们Docker启动镜像从哪里来呢?镜像由我们自己或者他人构建,构建好的镜像可以直接放在本地或者上传到远程镜像仓库。当我们运行一个Docker镜像时,会先在本地查找是否存在所要运行的镜像,如果没有则会去远程镜像仓库拉取,默认为官方的镜像仓库,当然,我们也可以改为自己的私有镜像仓库。接下来,我们先了解几个简单的命令。 docker images 列出本地主机中的镜像 docker pull [OPTIONS] 拉取镜像仓库中的镜像 docker search [OPTIONS] 搜索仓库中的镜像 docker rmi [OPTIONS] 删除本地镜像 docker rm [OPTIONS] 删除容器 docker run [OPTIONS] 启动镜像,先检查本地是否存在镜像,不存在则远程仓库下载 docker build [OPTIONS] 构建镜像 docker ps [OPTIONS] 运行中的镜像容器 docker cp [OPTIONS] 宿主机与容器之间的文件复制 启动Nginx镜像
  我们直接在安装好Docker的主机上执行 docker run nginx
  我们从运行日志可以看到这样的字眼: 1 2 Unable to find image "nginx:latest" locally latest: Pulling from library/nginx
  docker发现本地不存在nginx的镜像文件,便直接去仓库中查找下载并运行,因为我们没有让镜像后台运行,所以这次运行起来的容器会随着这次远程连接断开而停止。当我按下 ctrl+c 时,容器便会停止1 2 3 4 5 6 7 8 9 10 ^C2021/12/28 03:24:32 [notice] 1#1: signal 2 (SIGINT) received, exiting 2021/12/28 03:24:32 [notice] 31#31: exiting 2021/12/28 03:24:32 [notice] 32#32: exiting 2021/12/28 03:24:32 [notice] 31#31: exit 2021/12/28 03:24:32 [notice] 32#32: exit 2021/12/28 03:24:32 [notice] 1#1: signal 17 (SIGCHLD) received from 31 2021/12/28 03:24:32 [notice] 1#1: worker process 31 exited with code 0 2021/12/28 03:24:32 [notice] 1#1: worker process 32 exited with code 0 2021/12/28 03:24:32 [notice] 1#1: exit
  如果要让容器后台运行,则需要在启动时加 -d 这个参数,1 2 3 [root@VM-12-3-centos ~]# docker run -d nginx 8dd8b3dd27aa28f913bea43de632d105c17901561d69c502b4433e0f473ed453
  我们来看一下当前运行中的容器 1 2 3 4 [root@VM-12-3-centos ~]# docker ps CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES 8dd8b3dd27aa   nginx     "/docker-entrypoint.…"   23 seconds ago   Up 23 seconds   80/tcp    goofy_faraday
  可以看到,我们的nginx是启动起来了,但是,我们并不能访问它。容器有自己的一套虚拟系统,如:网络、文件。如果我们需要访问,则需要给容器和宿主机做一个映射,让宿主机和容器能够交互。这里,我们就给nginx增加端口和配置文件映射。我为了省事,就直接把容器中的配置文件复制出来用 1 docker cp 8dd8b3dd27aa:/etc/nginx/ ~/
  接下来,我们便来建立这个映射关系 1 docker run -d --name nginx-c -v /root/nginx/:/etc/nginx/ -p 8888:80 nginx
  来看看容器是否启动成功 1 2 3 4 [root@VM-12-3-centos nginx]# docker ps CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                   NAMES 5ae0319e1795   nginx     "/docker-entrypoint.…"   7 seconds ago   Up 6 seconds   0.0.0.0:8888->80/tcp, :::8888->80/tcp   nginx-c
  这时候,我们便能访问我们的nginx服务,
  前面已经说到,容器有自己的虚拟系统,如果需要持久化的数据不映射到宿主机上,那么当容器销毁时,数据也会随之丢失,所以,我们在用容器运行时,一定要做好数据的保存方式。 Docker常用命令
  在前面,我们列出了几个常用的Docker命令,这里,我们把这几个常用命令稍微讲解一下, docker ps
  ps主要是查询正常运行的容器
  docker ps 是当前正在运行的容器 1 2 3 4 [root@VM-12-3-centos nginx]# docker ps CONTAINER ID   IMAGE     COMMAND                  CREATED             STATUS             PORTS                                   NAMES 5ae0319e1795   nginx     "/docker-entrypoint.…"   About an hour ago   Up About an hour   0.0.0.0:8888->80/tcp, :::8888->80/tcp   nginx-c
  这里面的 CONTAINER ID 很重要,后面我们的很多操作都需要基于这个CONTAINER ID 或者NAMES 。
  docker ps -a 则是列出运行中和停止中的所有容器,docker start/stop/restart/rm [CONTAINER ID]
  这几个参数这是启动/停止/重启/删除容器的参数,如: docker restart 5ae0319e1795 ,如果要删除容器,必须要先停止,否则会提示1 rror response from daemon: You cannot remove a running container 5ae0319e1795f3295247e0fa14c1d19054f59578381d8367e8955f22eebdd182. Stop the container before attempting removal or force remove docker run
  docker run [OPTIONS] IMAGE [COMMAND] [ARG…],它的运行参数就比较复杂了, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 [root@VM-12-3-centos nginx]# 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 weight) (default [])       --cap-add list                   Add Linux capabilities       --cap-drop list                  Drop Linux capabilities       --cgroup-parent string           Optional parent cgroup for the container       --cgroupns string                Cgroup namespace to use (host|private)                                        "host":    Run the container in the Docker host"s cgroup namespace                                        "private": Run the container in its own private cgroup namespace                                        "":        Use the cgroup namespace as configured by the                                                   default-cgroupns-mode option on the daemon (default)       --cidfile string                 Write the container ID to the file       --cpu-period int                 Limit CPU CFS (Completely Fair Scheduler) period       --cpu-quota int                  Limit CPU CFS (Completely Fair Scheduler) quota       --cpu-rt-period int              Limit CPU real-time period in microseconds       --cpu-rt-runtime int             Limit CPU real-time runtime in microseconds   -c, --cpu-shares int                 CPU shares (relative weight)       --cpus decimal                   Number of CPUs       --cpuset-cpus string             CPUs in which to allow execution (0-3, 0,1)       --cpuset-mems string             MEMs in which to allow execution (0-3, 0,1)   -d, --detach                         Run container in background and print container ID       --detach-keys string             Override the key sequence for detaching a container       --device list                    Add a host device to the container       --device-cgroup-rule list        Add a rule to the cgroup allowed devices list       --device-read-bps list           Limit read rate (bytes per second) from a device (default [])       --device-read-iops list          Limit read rate (IO per second) from a device (default [])       --device-write-bps list          Limit write rate (bytes per second) to a device (default [])       --device-write-iops list         Limit write rate (IO per second) to a device (default [])       --disable-content-trust          Skip image verification (default true)       --dns list                       Set custom DNS servers       --dns-option list                Set DNS options       --dns-search list                Set custom DNS search domains       --domainname string              Container NIS domain name       --entrypoint string              Overwrite the default ENTRYPOINT of the image   -e, --env list                       Set environment variables       --env-file list                  Read in a file of environment variables       --expose list                    Expose a port or a range of ports       --gpus gpu-request               GPU devices to add to the container ("all" to pass all GPUs)       --group-add list                 Add additional groups to join       --health-cmd string              Command to run to check health       --health-interval duration       Time between running the check (ms|s|m|h) (default 0s)       --health-retries int             Consecutive failures needed to report unhealthy       --health-start-period duration   Start period for the container to initialize before starting health-retries countdown (ms|s|m|h) (default 0s)       --health-timeout duration        Maximum time to allow one check to run (ms|s|m|h) (default 0s)       --help                           Print usage   -h, --hostname string                Container host name       --init                           Run an init inside the container that forwards signals and reaps processes   -i, --interactive                    Keep STDIN open even if not attached       --ip string                      IPv4 address (e.g., 172.30.100.104)       --ip6 string                     IPv6 address (e.g., 2001:db8::33)       --ipc string                     IPC mode to use       --isolation string               Container isolation technology       --kernel-memory bytes            Kernel memory limit   -l, --label list                     Set meta data on a container       --label-file list                Read in a line delimited file of labels       --link list                      Add link to another container       --link-local-ip list             Container IPv4/IPv6 link-local addresses       --log-driver string              Logging driver for the container       --log-opt list                   Log driver options       --mac-address string             Container MAC address (e.g., 92:d0:c6:0a:29:33)   -m, --memory bytes                   Memory limit       --memory-reservation bytes       Memory soft limit       --memory-swap bytes              Swap limit equal to memory plus swap: "-1" to enable unlimited swap       --memory-swappiness int          Tune container memory swappiness (0 to 100) (default -1)       --mount mount                    Attach a filesystem mount to the container       --name string                    Assign a name to the container       --network network                Connect a container to a network       --network-alias list             Add network-scoped alias for the container       --no-healthcheck                 Disable any container-specified HEALTHCHECK       --oom-kill-disable               Disable OOM Killer       --oom-score-adj int              Tune host"s OOM preferences (-1000 to 1000)       --pid string                     PID namespace to use       --pids-limit int                 Tune container pids limit (set -1 for unlimited)       --platform string                Set platform if server is multi-platform capable       --privileged                     Give extended privileges to this container   -p, --publish list                   Publish a container"s port(s) to the host   -P, --publish-all                    Publish all exposed ports to random ports       --pull string                    Pull image before running ("always"|"missing"|"never") (default "missing")       --read-only                      Mount the container"s root filesystem as read only       --restart string                 Restart policy to apply when a container exits (default "no")       --rm                             Automatically remove the container when it exits       --runtime string                 Runtime to use for this container       --security-opt list              Security Options       --shm-size bytes                 Size of /dev/shm       --sig-proxy                      Proxy received signals to the process (default true)       --stop-signal string             Signal to stop a container (default "SIGTERM")       --stop-timeout int               Timeout (in seconds) to stop a container       --storage-opt list               Storage driver options for the container       --sysctl map                     Sysctl options (default map[])       --tmpfs list                     Mount a tmpfs directory   -t, --tty                            Allocate a pseudo-TTY       --ulimit ulimit                  Ulimit options (default [])   -u, --user string                    Username or UID (format: [:])       --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
  这里还是只介绍几个常用的命令参数吧, -d: 后台运行容器 -P: 容器内部端口随机映射到主机的端口 -p: 指定端口映射 –name: 指定一个容器的名称 –cpuset: 指定CPU运行 -m(–memory): 设置容器内存最大值(单位可以为 b,k,M,g;最小为4M),除了内存限制,还可以设置内存+交换分区大小(–memory-swap) –link=[]: 链接到另一个容器 -v(–volume): 指定容器与宿主机的映射目录
  运行示例 docker run -d --name nginx-cc -v /root/nginx/:/etc/nginx/ -p 9999:80 -m 256M nginx docker cp
  cp命令主要是用于宿主机和容器间的文件复制,一般格式如下:
  docker cp [OPTIONS] 容器名/容器Id:容器文件路径 宿主机文件路径 从容器复制到宿主机
  docker cp [OPTIONS] 宿主机文件路径 容器名/容器Id:容器文件路径 从宿主机复制到容器中 docker inspect
  inspect主要是查看容器或者镜像元数据,如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 [root@VM-12-3-centos nginx]# docker inspect cd1309c02a5e [     {         "Id": "cd1309c02a5efc9855b0987e6dba44c6b858162f14dc7fbae4138b1ca4361dae",         "Created": "2021-12-28T05:54:50.381961654Z",         "Path": "/docker-entrypoint.sh",         "Args": [             "nginx",             "-g",             "daemon off;"         ],         "State": {             "Status": "running",             "Running": true,             "Paused": false,             "Restarting": false,             "OOMKilled": false,             "Dead": false,             "Pid": 3172754,             "ExitCode": 0,             "Error": "",             "StartedAt": "2021-12-28T05:54:50.720774527Z",             "FinishedAt": "0001-01-01T00:00:00Z"         },         "Image": "sha256:f6987c8d6ed59543e9f34327c23e12141c9bad1916421278d720047ccc8e1bee",         "ResolvConfPath": "/var/lib/docker/containers/cd1309c02a5efc9855b0987e6dba44c6b858162f14dc7fbae4138b1ca4361dae/resolv.conf",         "HostnamePath": "/var/lib/docker/containers/cd1309c02a5efc9855b0987e6dba44c6b858162f14dc7fbae4138b1ca4361dae/hostname",         "HostsPath": "/var/lib/docker/containers/cd1309c02a5efc9855b0987e6dba44c6b858162f14dc7fbae4138b1ca4361dae/hosts",         "LogPath": "/var/lib/docker/containers/cd1309c02a5efc9855b0987e6dba44c6b858162f14dc7fbae4138b1ca4361dae/cd1309c02a5efc9855b0987e6dba44c6b858162f14dc7fbae4138b1ca4361dae-json.log",         "Name": "/nginx-cc",         "RestartCount": 0,         "Driver": "overlay2",         "Platform": "linux",         "MountLabel": "",         "ProcessLabel": "",         "AppArmorProfile": "",         "ExecIDs": null,         "HostConfig": {             "Binds": [                 "/root/nginx/:/etc/nginx/"             ],             "ContainerIDFile": "",             "LogConfig": {                 "Type": "json-file",                 "Config": {}             },             "NetworkMode": "default",             "PortBindings": {                 "80/tcp": [                     {                         "HostIp": "",                         "HostPort": "9999"                     }                 ]             },             "RestartPolicy": {                 "Name": "no",                 "MaximumRetryCount": 0             },             "AutoRemove": false,             "VolumeDriver": "",             "VolumesFrom": null,             "CapAdd": null,             "CapDrop": null,             "CgroupnsMode": "host",             "Dns": [],             "DnsOptions": [],             "DnsSearch": [],             "ExtraHosts": null,             "GroupAdd": null,             "IpcMode": "private",             "Cgroup": "",             "Links": null,             "OomScoreAdj": 0,             "PidMode": "",             "Privileged": false,             "PublishAllPorts": false,             "ReadonlyRootfs": false,             "SecurityOpt": null,             "UTSMode": "",             "UsernsMode": "",             "ShmSize": 67108864,             "Runtime": "runc",             "ConsoleSize": [                 0,                 0             ],             "Isolation": "",             "CpuShares": 0,             "Memory": 268435456,             "NanoCpus": 0,             "CgroupParent": "",             "BlkioWeight": 0,             "BlkioWeightDevice": [],             "BlkioDeviceReadBps": null,             "BlkioDeviceWriteBps": null,             "BlkioDeviceReadIOps": null,             "BlkioDeviceWriteIOps": null,             "CpuPeriod": 0,             "CpuQuota": 0,             "CpuRealtimePeriod": 0,             "CpuRealtimeRuntime": 0,             "CpusetCpus": "",             "CpusetMems": "",             "Devices": [],             "DeviceCgroupRules": null,             "DeviceRequests": null,             "KernelMemory": 0,             "KernelMemoryTCP": 0,             "MemoryReservation": 0,             "MemorySwap": 536870912,             "MemorySwappiness": null,             "OomKillDisable": false,             "PidsLimit": null,             "Ulimits": null,             "CpuCount": 0,             "CpuPercent": 0,             "IOMaximumIOps": 0,             "IOMaximumBandwidth": 0,             "MaskedPaths": [                 "/proc/asound",                 "/proc/acpi",                 "/proc/kcore",                 "/proc/keys",                 "/proc/latency_stats",                 "/proc/timer_list",                 "/proc/timer_stats",                 "/proc/sched_debug",                 "/proc/scsi",                 "/sys/firmware"             ],             "ReadonlyPaths": [                 "/proc/bus",                 "/proc/fs",                 "/proc/irq",                 "/proc/sys",                 "/proc/sysrq-trigger"             ]         },         "GraphDriver": {             "Data": {                 "LowerDir": "/var/lib/docker/overlay2/8731f576cc3fb7511f9f9761e58d8480e2e6249889119962b9d0809e2105310b-init/diff:/var/lib/docker/overlay2/618f7e094534925da63be88e1409cf0020cc0b6561b266fafca8df4d77c07cf3/diff:/var/lib/docker/overlay2/05f6ffd411a6ec713698611d0a3732d55c7d6bf13105c736492734f1c32965cb/diff:/var/lib/docker/overlay2/47646e0e9a17db5299cbd0cbdc8a7ac300be03ed728f60fb331b6c236680859a/diff:/var/lib/docker/overlay2/fd51e460d7679d64ac84fed908c691f98ab6bcce6cddfaa947ace1071f541a52/diff:/var/lib/docker/overlay2/bebc9613df0154882c65ba436f084e864152fb77b9ff25f796d5f56bf8af7ff1/diff:/var/lib/docker/overlay2/5291486555a45b2adddeb8dbf77548c892f222b96c93208ccc87180025fb2a05/diff",                 "MergedDir": "/var/lib/docker/overlay2/8731f576cc3fb7511f9f9761e58d8480e2e6249889119962b9d0809e2105310b/merged",                 "UpperDir": "/var/lib/docker/overlay2/8731f576cc3fb7511f9f9761e58d8480e2e6249889119962b9d0809e2105310b/diff",                 "WorkDir": "/var/lib/docker/overlay2/8731f576cc3fb7511f9f9761e58d8480e2e6249889119962b9d0809e2105310b/work"             },             "Name": "overlay2"         },         "Mounts": [             {                 "Type": "bind",                 "Source": "/root/nginx",                 "Destination": "/etc/nginx",                 "Mode": "",                 "RW": true,                 "Propagation": "rprivate"             }         ],         "Config": {             "Hostname": "cd1309c02a5e",             "Domainname": "",             "User": "",             "AttachStdin": false,             "AttachStdout": false,             "AttachStderr": false,             "ExposedPorts": {                 "80/tcp": {}             },             "Tty": false,             "OpenStdin": false,             "StdinOnce": false,             "Env": [                 "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",                 "NGINX_VERSION=1.21.4",                 "NJS_VERSION=0.7.0",                 "PKG_RELEASE=1~bullseye"             ],             "Cmd": [                 "nginx",                 "-g",                 "daemon off;"             ],             "Image": "nginx",             "Volumes": null,             "WorkingDir": "",             "Entrypoint": [                 "/docker-entrypoint.sh"             ],             "OnBuild": null,             "Labels": {                 "maintainer": "NGINX Docker Maintainers "             },             "StopSignal": "SIGQUIT"         },         "NetworkSettings": {             "Bridge": "",             "SandboxID": "f8caff2c6de91132584c5f577d8fa7a695d718a8fe91913842f8120a1fd755b2",             "HairpinMode": false,             "LinkLocalIPv6Address": "",             "LinkLocalIPv6PrefixLen": 0,             "Ports": {                 "80/tcp": [                     {                         "HostIp": "0.0.0.0",                         "HostPort": "9999"                     },                     {                         "HostIp": "::",                         "HostPort": "9999"                     }                 ]             },             "SandboxKey": "/var/run/docker/netns/f8caff2c6de9",             "SecondaryIPAddresses": null,             "SecondaryIPv6Addresses": null,             "EndpointID": "1840b9975ae073a167161b927ba9b5cbd5f523afc1deba41b935de41ed254025",             "Gateway": "172.17.0.1",             "GlobalIPv6Address": "",             "GlobalIPv6PrefixLen": 0,             "IPAddress": "172.17.0.3",             "IPPrefixLen": 16,             "IPv6Gateway": "",             "MacAddress": "02:42:ac:11:00:03",             "Networks": {                 "bridge": {                     "IPAMConfig": null,                     "Links": null,                     "Aliases": null,                     "NetworkID": "fed3528a99f04939a651d8b67872ec51e7b99dff8338726598e3ce0300ae7c93",                     "EndpointID": "1840b9975ae073a167161b927ba9b5cbd5f523afc1deba41b935de41ed254025",                     "Gateway": "172.17.0.1",                     "IPAddress": "172.17.0.3",                     "IPPrefixLen": 16,                     "IPv6Gateway": "",                     "GlobalIPv6Address": "",                     "GlobalIPv6PrefixLen": 0,                     "MacAddress": "02:42:ac:11:00:03",                     "DriverOpts": null                 }             }         }     } ]
  从返回的信息中,我们可以得到,启动时所设置的启动参数。如: 1 2 3 4 5 6 7 8 9 10 11  "PortBindings": {                 "80/tcp": [                     {                         "HostIp": "",                         "HostPort": "9999"                     }                 ]             }, "Binds": [                 "/root/nginx/:/etc/nginx/"             ]
  如果,那天我们忘记之前容器启动的参数时,便可以通过 inspect 来帮我们找回来。docker logs
  logs主要是查询docker容器的运行日志,如: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 [root@VM-12-3-centos ~]# docker logs 5ae0319e1795 /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: IPv6 listen already enabled /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2021/12/28 03:59:20 [notice] 1#1: using the "epoll" event method 2021/12/28 03:59:20 [notice] 1#1: nginx/1.21.4 2021/12/28 03:59:20 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 2021/12/28 03:59:20 [notice] 1#1: OS: Linux 4.18.0-305.3.1.el8.x86_64 2021/12/28 03:59:20 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2021/12/28 03:59:20 [notice] 1#1: start worker processes 2021/12/28 03:59:20 [notice] 1#1: start worker process 24 2021/12/28 03:59:20 [notice] 1#1: start worker process 25 172.17.0.1 - - [28/Dec/2021:03:59:36 +0000] "GET / HTTP/1.1" 200 615 "-" "curl/7.61.1" "-" 2021/12/28 05:09:38 [notice] 1#1: signal 3 (SIGQUIT) received, shutting down 2021/12/28 05:09:38 [notice] 25#25: gracefully shutting down 2021/12/28 05:09:38 [notice] 25#25: exiting 2021/12/28 05:09:38 [notice] 25#25: exit 2021/12/28 05:09:38 [notice] 24#24: gracefully shutting down 2021/12/28 05:09:38 [notice] 24#24: exiting 2021/12/28 05:09:38 [notice] 24#24: exit 2021/12/28 05:09:38 [notice] 1#1: signal 17 (SIGCHLD) received from 24 2021/12/28 05:09:38 [notice] 1#1: worker process 24 exited with code 0 2021/12/28 05:09:38 [notice] 1#1: signal 29 (SIGIO) received 2021/12/28 05:09:38 [notice] 1#1: signal 17 (SIGCHLD) received from 25 2021/12/28 05:09:38 [notice] 1#1: worker process 25 exited with code 0 2021/12/28 05:09:38 [notice] 1#1: exit /docker-entrypoint.sh: /docker-entrypoint.d/ is not empty, will attempt to perform configuration /docker-entrypoint.sh: Looking for shell scripts in /docker-entrypoint.d/ /docker-entrypoint.sh: Launching /docker-entrypoint.d/10-listen-on-ipv6-by-default.sh 10-listen-on-ipv6-by-default.sh: info: IPv6 listen already enabled /docker-entrypoint.sh: Launching /docker-entrypoint.d/20-envsubst-on-templates.sh /docker-entrypoint.sh: Launching /docker-entrypoint.d/30-tune-worker-processes.sh /docker-entrypoint.sh: Configuration complete; ready for start up 2021/12/28 05:09:38 [notice] 1#1: using the "epoll" event method 2021/12/28 05:09:38 [notice] 1#1: nginx/1.21.4 2021/12/28 05:09:38 [notice] 1#1: built by gcc 10.2.1 20210110 (Debian 10.2.1-6) 2021/12/28 05:09:38 [notice] 1#1: OS: Linux 4.18.0-305.3.1.el8.x86_64 2021/12/28 05:09:38 [notice] 1#1: getrlimit(RLIMIT_NOFILE): 1048576:1048576 2021/12/28 05:09:38 [notice] 1#1: start worker processes 2021/12/28 05:09:38 [notice] 1#1: start worker process 24 2021/12/28 05:09:38 [notice] 1#1: start worker process 25

德国人每天只工作5小时,在德国生活是一种什么感受?三叔在德国生活了十几年,平均每天只工作3个多小时,月薪却有5000欧元,合人民币36000元,有一栋小别墅,还娶了一个皮肤白皙的德国姑娘。爷爷有三个儿子,大伯只有初中文化,在镇上开诺基亚将推出三款智能手机,都使用可拆卸电池据了解,诺基亚即将发布诺基亚C21,c21plus和诺基亚c2(第二代)。此三款手机都采用可拆卸电池。诺基亚c21plus采用后置双摄摄像头,分为1300w200w,前置则为500重塑行业赛道容声冰箱牵头制定健康冰箱标准2月25日,海信家电旗下品牌容声冰箱联合中国家用电器研究中国科学院中国海洋大学等权威机构,在青岛举行了健康冰箱团体标准制定的启动仪式。中国家用电器研究院副院长曲宗峰称,目前国内冰箱智能手表调节睡眠,精准保证睡眠质量,最短的时间保证最好的睡眠我们经常遇到一个问,就是睡得不好。通常遇到睡眠不好,我们都是按照这感觉多睡一点。但实际要睡多久,没有一个标准。我们常常有一个感觉就是今天睡得很多,但是依然会打瞌睡。昨天感觉睡得很少早高FENG苹果20英寸可折叠设备可能放弃实体键盘雅虎邮箱2月28日起停止在中国大陆服务苹果20英寸可折叠设备可能放弃实体键盘据传苹果的20英寸可折叠设备可能是MacBookPro和iPad的混合体,会放弃实体键盘,转而使用基于软件的版本。MarkGurman提到,这曲面屏与直面屏该选哪种?各有优缺点,行内人给出正确的选择答案现在市场上的手机从手机屏幕的形状来区分的话,主要分为曲面屏与直面屏两种类型,很多机组在后台发私信询问,在购买手机的时候是选择曲面屏好还是直面屏好?其实对于这样的问题比较难回答,因为当中国互联网开始布局海外新兴市场,这意味着什么?有什么好处?互联网出海企业茄子科技递出中国名片,主要得益于三个方面原因第一,中国互联网市场逐渐进入红海阶段。随着中国移动互联网人口红利的消失,中国互联网的产能已经变得过剩,竞争已经到了红海状态战争后黄金暴涨比特币暴跌,比特币还是不是避险资产?谢谢邀请!比特币不是避险资产,世界上大多数央行不认可,不认为具有金融功能,在现实世界中不可自由兑换,使用。但是,民间网上却有很多人炒作,有的人也发了财,也有人破产了。普通人不能把比闪充和快充有什么区别?闪充其实就是快充,只是叫法不同而已。常见的快充分为很多方案,比较有代表性的就是OPPO和一加采用的闪充高通平台的QC快充以及联发科平台的PE快充。闪充之所以出名,和OPPO的洗脑式为什么建网站要用服务器吗?原因是什么?网站想要建设一个网站,可不知道怎么准备。服务器域名数据库之类的,究竟需要哪些,有是为什么呢?服务器服务器指的是一种管理资源并能为用户提供服务的计算机软件,一般分为和应用程序服务器。OPPO折叠屏FindN有外观曝光了吗?长啥样?不得不说,近期关于OPPO首款折叠屏手机OPPOFindN的外观信息,确实引起很多小伙伴的关注。根据OPPO官微放出预热视频以及刘作虎发表的长文,我们还是可以从中获取到一些信息的。