【云原生】第三篇--使用容器运行Nginx应用及Docker命令

使用容器运行Nginx应用及Docker命令

  • 一、使用容器运行Nginx应用
    • 1.1 使用docker run命令运行Nginx应用
      • 1.1.1 观察下载容器镜像过程
      • 1.1.2 观察容器运行情况
    • 1.2 访问容器中运行的Nginx服务
      • 1.2.1 确认容器IP地址
      • 1.2.2 容器网络说明
      • 1.2.3 使用curl命令访问
  • 二、Docker命令
    • 2.1 Docker命令获取帮助方法
    • 2.2 Docker官网提供的命令说明
    • 2.3 docker命令应用
      • 2.3.1 docker run
      • 2.3.2 docker ps
      • 2.3.3 docker inspect
      • 2.3.4 docker exec
      • 2.3.5 docker attach
      • 2.3.6 docker stop
      • 2.3.7 docker start
      • 2.3.8 docker top
      • 2.3.9 docker rm
        • 2.3.9.1 指定删除容器
        • 2.3.9.2 批量删除容器

一、使用容器运行Nginx应用

1.1 使用docker run命令运行Nginx应用

1.1.1 观察下载容器镜像过程

查找本地容器镜像文件

执行命令过程一:下载容器镜像
# docker run -d nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a2abf6c4d29d: Downloading  1.966MB/31.36MB 下载中
a9edb18cadd1: Downloading  1.572MB/25.35MB
589b7251471a: Download complete 下载完成
186b1aaa4aa6: Download complete
b4df32aa5a72: Waiting 等待下载
a0bcbecc962e: Waiting
执行命令过程二:下载容器镜像
[root@localhost ~]# docker run -d nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a2abf6c4d29d: Downloading  22.87MB/31.36MB
a9edb18cadd1: Downloading  22.78MB/25.35MB
589b7251471a: Waiting
186b1aaa4aa6: Waiting
b4df32aa5a72: Waiting
执行命令过程三:下载容器镜像
[root@localhost ~]# docker run -d nginx:latest
Unable to find image 'nginx:latest' locally
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete 下载完成
a9edb18cadd1: Pull complete
589b7251471a: Pull complete
186b1aaa4aa6: Pull complete
b4df32aa5a72: Waiting 等待下载

1.1.2 观察容器运行情况

# docker run -d nginx:latest
9834c8c18a7c7c89ab0ea4119d11bafe9c18313c8006bc02ce57ff54d9a1cc0c
命令解释
docker run 启动一个容器
-d 把容器镜像中需要执行的命令以daemon(守护进程)的方式运行
nginx 应用容器镜像的名称,通常表示该镜像为某一个软件
latest 表示上述容器镜像的版本,表示最新版本,用户可自定义其标识,例如v1或v2等
# docker ps
CONTAINER ID   IMAGE        COMMAND                  CREATED          STATUS        PORTS     NAMES
9834c8c18a7c   nginx:latest "/docker-entrypoint.…"   24 seconds ago   Up 23 seconds 80/tcp condescending_pare
命令解释
docker ps 类似于Linux系统的ps命令,查看正在运行的容器,如果想查看没有运行的容器,需要在此命令后使用--all

输出内容解释

CONTAINERID IMAGE COMMAND CREATED STATUS PORTS NAMES
9834c8c18a7c nginx:latest “/docker-entrypoint.…” 24 seconds ago Up 23 seconds 80/tcp condescending_pare

1.2 访问容器中运行的Nginx服务

1.2.1 确认容器IP地址

实际工作中不需要此步操作。

 # docker inspect 9834
 
 "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0,
            "IPAddress": "172.17.0.2", 容器IP地址
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "MacAddress": "02:42:ac:11:00:02",
            "Networks": {
                "bridge": {
                    "IPAMConfig": null,
                    "Links": null,
                    "Aliases": null,
                    "NetworkID": "d3de2fdbc30ee36a55c1431ef3ae4578392e552009f00b2019b4720735fe5a60",
                    "EndpointID": "d91f47c9f756ff22dc599a207164f2e9366bd0c530882ce0f08ae2278fb3d50c",
                    "Gateway": "172.17.0.1",
                    "IPAddress": "172.17.0.2",   容器IP地址
                    "IPPrefixLen": 16,
                    "IPv6Gateway": "",
                    "GlobalIPv6Address": "",
                    "GlobalIPv6PrefixLen": 0,
                    "MacAddress": "02:42:ac:11:00:02",
                    "DriverOpts": null
                }
            }
        }
    }
]
命令解释
docker inspect 为查看容器结构信息命令
9834 为前面生成的容器ID号前4位,使用这个ID号时,由于其较长,使用时能最短识别即可。

1.2.2 容器网络说明

【云原生】第三篇--使用容器运行Nginx应用及Docker命令_第1张图片

# ip a s
......
docker0网桥,用于为容器提供桥接,转发到主机之外的网络
5: docker0: ,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default
    link/ether 02:42:d5:c3:d4:cc brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.1/16 brd 172.17.255.255 scope global docker0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:d5ff:fec3:d4cc/64 scope link
       valid_lft forever preferred_lft forever
       
与容器中的虚拟网络设备在同一个命名空间中,用于把容器中的网络连接到主机
9: veth393dece@if8: ,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue master docker0 state UP group default
    link/ether 02:e3:11:58:54:0f brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet6 fe80::e3:11ff:fe58:540f/64 scope link
       valid_lft forever preferred_lft forever

1.2.3 使用curl命令访问

# curl http://172.17.0.2

返回结果,表示访问成功!
<!DOCTYPE html>


Welcome to nginx!<<span class="token operator">/</span>title>
<style>
html <span class="token punctuation">{</span> color-scheme: light dark<span class="token punctuation">;</span> <span class="token punctuation">}</span>
body <span class="token punctuation">{</span> width: 35em<span class="token punctuation">;</span> margin: 0 auto<span class="token punctuation">;</span>
font-family: Tahoma<span class="token punctuation">,</span> Verdana<span class="token punctuation">,</span> Arial<span class="token punctuation">,</span> sans-serif<span class="token punctuation">;</span> <span class="token punctuation">}</span>
<<span class="token operator">/</span>style>
<<span class="token operator">/</span>head>
<body>
<h1>Welcome to nginx!<<span class="token operator">/</span>h1>
<p><span class="token keyword">If</span> you see this page<span class="token punctuation">,</span> the nginx web server is successfully installed and
working<span class="token punctuation">.</span> Further configuration is required<span class="token punctuation">.</span><<span class="token operator">/</span>p>

<p><span class="token keyword">For</span> online documentation and support please refer to
<a href=<span class="token string">"http://nginx.org/"</span>>nginx<span class="token punctuation">.</span>org<<span class="token operator">/</span>a><span class="token punctuation">.</span><br/>
Commercial support is available at
<a href=<span class="token string">"http://nginx.com/"</span>>nginx<span class="token punctuation">.</span>com<<span class="token operator">/</span>a><span class="token punctuation">.</span><<span class="token operator">/</span>p>

<p><em>Thank you <span class="token keyword">for</span> <span class="token keyword">using</span> nginx<span class="token punctuation">.</span><<span class="token operator">/</span>em><<span class="token operator">/</span>p>
<<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>
</code></pre> 
  <h1>二、Docker命令</h1> 
  <h2>2.1 Docker命令获取帮助方法</h2> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker -h</span>
Flag shorthand <span class="token operator">-</span>h has been deprecated<span class="token punctuation">,</span> please use <span class="token operator">--</span>help

Usage:  docker <span class="token namespace">[OPTIONS]</span> COMMAND  用法

A self-sufficient runtime <span class="token keyword">for</span> containers 功能介绍

Options: 选项
      <span class="token operator">--</span>config string      Location of client config files <span class="token punctuation">(</span>default <span class="token string">"/root/.docker"</span><span class="token punctuation">)</span>
  <span class="token operator">-</span>c<span class="token punctuation">,</span> <span class="token operator">--</span>context string     Name of the context to use to connect to the daemon <span class="token punctuation">(</span>overrides
                           DOCKER_HOST env <span class="token keyword">var</span> and default context <span class="token function">set</span> with <span class="token string">"docker context use"</span><span class="token punctuation">)</span>
  <span class="token operator">-</span>D<span class="token punctuation">,</span> <span class="token operator">--</span>debug              Enable debug mode
  <span class="token operator">-</span>H<span class="token punctuation">,</span> <span class="token operator">--</span>host list          Daemon socket<span class="token punctuation">(</span>s<span class="token punctuation">)</span> to connect to
  <span class="token operator">-</span>l<span class="token punctuation">,</span> <span class="token operator">--</span>log-level string   <span class="token function">Set</span> the logging level <span class="token punctuation">(</span><span class="token string">"debug"</span><span class="token punctuation">|</span><span class="token string">"info"</span><span class="token punctuation">|</span><span class="token string">"warn"</span><span class="token punctuation">|</span><span class="token string">"error"</span><span class="token punctuation">|</span><span class="token string">"fatal"</span><span class="token punctuation">)</span>
                           <span class="token punctuation">(</span>default <span class="token string">"info"</span><span class="token punctuation">)</span>
      <span class="token operator">--</span>tls                Use TLS<span class="token punctuation">;</span> implied by <span class="token operator">--</span>tlsverify
      <span class="token operator">--</span>tlscacert string   Trust certs signed only by this CA <span class="token punctuation">(</span>default <span class="token string">"/root/.docker/ca.pem"</span><span class="token punctuation">)</span>
      <span class="token operator">--</span>tlscert string     Path to TLS certificate file <span class="token punctuation">(</span>default <span class="token string">"/root/.docker/cert.pem"</span><span class="token punctuation">)</span>
      <span class="token operator">--</span>tlskey string      Path to TLS key file <span class="token punctuation">(</span>default <span class="token string">"/root/.docker/key.pem"</span><span class="token punctuation">)</span>
      <span class="token operator">--</span>tlsverify          Use TLS and verify the remote
  <span class="token operator">-</span>v<span class="token punctuation">,</span> <span class="token operator">--</span>version            Print version information and quit

Management Commands: 管理类命令
  app*        Docker App <span class="token punctuation">(</span>Docker Inc<span class="token punctuation">.</span><span class="token punctuation">,</span> v0<span class="token punctuation">.</span>9<span class="token punctuation">.</span>1-beta3<span class="token punctuation">)</span>
  builder     Manage builds
  buildx*     Docker Buildx <span class="token punctuation">(</span>Docker Inc<span class="token punctuation">.</span><span class="token punctuation">,</span> v0<span class="token punctuation">.</span>7<span class="token punctuation">.</span>1-docker<span class="token punctuation">)</span>
  config      Manage Docker configs
  container   Manage containers
  context     Manage contexts
  image       Manage images
  manifest    Manage Docker image manifests and manifest lists
  network     Manage networks
  node        Manage Swarm nodes
  plugin      Manage plugins
  scan*       Docker Scan <span class="token punctuation">(</span>Docker Inc<span class="token punctuation">.</span><span class="token punctuation">,</span> v0<span class="token punctuation">.</span>12<span class="token punctuation">.</span>0<span class="token punctuation">)</span>
  secret      Manage Docker secrets
  service     Manage services
  stack       Manage Docker stacks
  swarm       Manage Swarm
  system      Manage Docker
  trust       Manage trust on Docker images
  volume      Manage volumes

Commands: 未分组命令
  attach      Attach local standard input<span class="token punctuation">,</span> output<span class="token punctuation">,</span> and error streams to a running container
  build       Build an image <span class="token keyword">from</span> a Dockerfile
  commit      Create a new image <span class="token keyword">from</span> a container<span class="token string">'s changes
  cp          Copy files/folders between a container and the local filesystem
  create      Create a new container
  diff        Inspect changes to files or directories on a container'</span>s filesystem
  events      Get real time events <span class="token keyword">from</span> the server
  exec        Run a command in a running container
  export      Export a container's filesystem as a tar archive
  history     Show the history of an image
  images      List images
  import      Import the contents <span class="token keyword">from</span> a tarball to create a filesystem image
  info        Display system-wide information
  inspect     <span class="token keyword">Return</span> low-level information on Docker objects
  <span class="token function">kill</span>        <span class="token function">Kill</span> one or more running containers
  load        Load an image <span class="token keyword">from</span> a tar archive or STDIN
  login       Log in to a Docker registry
  logout      Log out <span class="token keyword">from</span> a Docker registry
  logs        Fetch the logs of a container
  pause       Pause all processes within one or more containers
  port        List port mappings or a specific mapping <span class="token keyword">for</span> the container
  <span class="token function">ps</span>          List containers
  pull        Pull an image or a repository <span class="token keyword">from</span> a registry
  push        Push an image or a repository to a registry
  rename      Rename a container
  restart     Restart one or more containers
  <span class="token function">rm</span>          Remove one or more containers
  rmi         Remove one or more images
  run         Run a command in a new container
  save        Save one or more images to a tar archive <span class="token punctuation">(</span>streamed to STDOUT by default<span class="token punctuation">)</span>
  search      Search the Docker Hub <span class="token keyword">for</span> images
  <span class="token function">start</span>       <span class="token function">Start</span> one or more stopped containers
  stats       Display a live stream of container<span class="token punctuation">(</span>s<span class="token punctuation">)</span> 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 <span class="token keyword">until</span> one or more containers stop<span class="token punctuation">,</span> then print their <span class="token keyword">exit</span> codes
</code></pre> 
  <h2>2.2 Docker官网提供的命令说明</h2> 
  <p>网址链接:https://docs.docker.com/reference/<br> <a href="http://img.e-com-net.com/image/info8/086fd139089743d087593c7b171a030b.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/086fd139089743d087593c7b171a030b.jpg" alt="【云原生】第三篇--使用容器运行Nginx应用及Docker命令_第2张图片" width="650" height="352" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/0d108219f45c45749f2fc12b3c3528e5.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/0d108219f45c45749f2fc12b3c3528e5.jpg" alt="【云原生】第三篇--使用容器运行Nginx应用及Docker命令_第3张图片" width="650" height="350" style="border:1px solid black;"></a><br> <a href="http://img.e-com-net.com/image/info8/530ead93721d40e7ab27fe1293616a40.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/530ead93721d40e7ab27fe1293616a40.jpg" alt="【云原生】第三篇--使用容器运行Nginx应用及Docker命令_第4张图片" width="650" height="442" style="border:1px solid black;"></a></p> 
  <h2>2.3 docker命令应用</h2> 
  <h3>2.3.1 docker run</h3> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker run -i -t --name c1 centos:latest bash</span>
<span class="token namespace">[root@948f234e22a1 /]</span><span class="token comment">#</span>
</code></pre> 
  <pre><code class="prism language-powershell">命令解释
docker run 运行一个命令在容器中,命令是主体,没有命令容器就会消亡
<span class="token operator">-</span>i 交互式
<span class="token operator">-</span>t 提供终端
<span class="token operator">--</span>name c1 把将运行的容器命名为c1
centos:latest 使用centos最新版本容器镜像
bash 在容器中执行的命令
</code></pre> 
  <pre><code class="prism language-powershell">查看主机名
<span class="token namespace">[root@948f234e22a1 /]</span><span class="token comment">#</span>
</code></pre> 
  <pre><code class="prism language-powershell">查看网络信息
<span class="token namespace">[root@948f234e22a1 /]</span><span class="token comment"># ip a s</span>
1: lo: <LOOPBACK<span class="token punctuation">,</span>UP<span class="token punctuation">,</span>LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN <span class="token function">group</span> default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>1/8 scope host lo
       valid_lft forever preferred_lft forever
12: eth0@if13: <BROADCAST<span class="token punctuation">,</span>MULTICAST<span class="token punctuation">,</span>UP<span class="token punctuation">,</span>LOWER_UP> mtu 1500 qdisc noqueue state UP <span class="token function">group</span> default
    link/ether 02:42:<span class="token function">ac</span>:11:00:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
    inet 172<span class="token punctuation">.</span>17<span class="token punctuation">.</span>0<span class="token punctuation">.</span>3/16 brd 172<span class="token punctuation">.</span>17<span class="token punctuation">.</span>255<span class="token punctuation">.</span>255 scope global eth0
       valid_lft forever preferred_lft forever
</code></pre> 
  <pre><code class="prism language-powershell">查看进程
<span class="token namespace">[root@948f234e22a1 /]</span><span class="token comment"># ps aux</span>
USER        PID <span class="token operator">%</span>CPU <span class="token operator">%</span>MEM    VSZ   RSS TTY      STAT <span class="token function">START</span>   TIME COMMAND
root          1  0<span class="token punctuation">.</span>0  0<span class="token punctuation">.</span>1  12036  2172 pts/0    Ss   09:58   0:00 bash
root         16  0<span class="token punctuation">.</span>0  0<span class="token punctuation">.</span>0  44652  1784 pts/0    R+   10:02   0:00 <span class="token function">ps</span> aux
</code></pre> 
  <pre><code class="prism language-powershell">查看用户
<span class="token namespace">[root@948f234e22a1 /]</span><span class="token comment"># cat /etc/passwd</span>
root:x:0:0:root:<span class="token operator">/</span>root:<span class="token operator">/</span>bin/bash
bin:x:1:1:bin:<span class="token operator">/</span>bin:<span class="token operator">/</span>sbin/nologin
daemon:x:2:2:daemon:<span class="token operator">/</span>sbin:<span class="token operator">/</span>sbin/nologin
adm:x:3:4:adm:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>adm:<span class="token operator">/</span>sbin/nologin
<span class="token function">lp</span>:x:4:7:<span class="token function">lp</span>:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>spool/lpd:<span class="token operator">/</span>sbin/nologin
sync:x:5:0:sync:<span class="token operator">/</span>sbin:<span class="token operator">/</span>bin/sync
shutdown:x:6:0:shutdown:<span class="token operator">/</span>sbin:<span class="token operator">/</span>sbin/shutdown
halt:x:7:0:halt:<span class="token operator">/</span>sbin:<span class="token operator">/</span>sbin/halt
mail:x:8:12:mail:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>spool/mail:<span class="token operator">/</span>sbin/nologin
operator:x:11:0:operator:<span class="token operator">/</span>root:<span class="token operator">/</span>sbin/nologin
games:x:12:100:games:<span class="token operator">/</span>usr/games:<span class="token operator">/</span>sbin/nologin
ftp:x:14:50:FTP User:<span class="token operator">/</span><span class="token keyword">var</span><span class="token operator">/</span>ftp:<span class="token operator">/</span>sbin/nologin
nobody:x:65534:65534:Kernel Overflow User:<span class="token operator">/</span>:<span class="token operator">/</span>sbin/nologin
dbus:x:81:81:System message bus:<span class="token operator">/</span>:<span class="token operator">/</span>sbin/nologin
systemd-coredump:x:999:997:systemd Core Dumper:<span class="token operator">/</span>:<span class="token operator">/</span>sbin/nologin
systemd-resolve:x:193:193:systemd Resolver:<span class="token operator">/</span>:<span class="token operator">/</span>sbin/nologin
</code></pre> 
  <pre><code class="prism language-powershell">查看目录
<span class="token namespace">[root@948f234e22a1 /]</span><span class="token comment"># pwd</span>
<span class="token operator">/</span>
<span class="token namespace">[root@948f234e22a1 /]</span><span class="token comment"># ls</span>
bin  etc   lib    lost+found  mnt  proc  run   srv  tmp  <span class="token keyword">var</span>
dev  home  lib64  media       opt  root  sbin  sys  usr
</code></pre> 
  <pre><code class="prism language-powershell">退出命令执行,观察容器运行情况
<span class="token namespace">[root@948f234e22a1 /]</span><span class="token comment"># exit</span>
<span class="token keyword">exit</span>
<span class="token namespace">[root@localhost ~]</span><span class="token comment">#</span>
</code></pre> 
  <h3>2.3.2 docker ps</h3> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps</span>
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
</code></pre> 
  <pre><code class="prism language-powershell">命令解释
docker <span class="token function">ps</span> 查看正在运行的容器,本案例由于没有命令在容器中运行,因此容器被停止了,所以本次查看没有结果。
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps --all</span>
CONTAINER ID   IMAGE           COMMAND     CREATED             STATUS                         PORTS     NAMES
948f234e22a1   centos:latest   <span class="token string">"bash"</span>    10 minutes ago      Exited <span class="token punctuation">(</span>0<span class="token punctuation">)</span> 2 minutes ago                    c1
</code></pre> 
  <table> 
   <thead> 
    <tr> 
     <th>CONTAINERID</th> 
     <th>IMAGE</th> 
     <th>COMMAND</th> 
     <th>CREATED</th> 
     <th>STATUS</th> 
     <th>PORTS</th> 
     <th>NAMES</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td>948f234e22a1</td> 
     <td>centos:latest</td> 
     <td>“bash”</td> 
     <td>10 minutes ago</td> 
     <td>Exited (0) 2 minutes ago</td> 
     <td></td> 
     <td>c1</td> 
    </tr> 
   </tbody> 
  </table> 
  <pre><code class="prism language-powershell">命令解释
docker <span class="token function">ps</span> <span class="token operator">--</span>all 可以查看正在运行的和停止运行的容器
</code></pre> 
  <h3>2.3.3 docker inspect</h3> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker run -it --name c2 centos:latest bash</span>
<span class="token namespace">[root@9f2eea16da4c /]</span><span class="token comment"># </span>
</code></pre> 
  <pre><code class="prism language-powershell">操作说明
在上述提示符处按住ctrl键,再按p键与q键,可以退出交互式的容器,容器会处于运行状态。
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps</span>
CONTAINER ID   IMAGE           COMMAND   CREATED          STATUS          PORTS     NAMES
9f2eea16da4c   centos:latest   <span class="token string">"bash"</span>    37 seconds ago   Up 35 seconds             c2
</code></pre> 
  <pre><code class="prism language-powershell">命令解释
可以看到容器处于运行状态
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker inspect c2</span>

<span class="token string">"Networks"</span>: <span class="token punctuation">{</span>
                <span class="token string">"bridge"</span>: <span class="token punctuation">{</span>
                    <span class="token string">"IPAMConfig"</span>: null<span class="token punctuation">,</span>
                    <span class="token string">"Links"</span>: null<span class="token punctuation">,</span>
                    <span class="token string">"Aliases"</span>: null<span class="token punctuation">,</span>
                    <span class="token string">"NetworkID"</span>: <span class="token string">"d3de2fdbc30ee36a55c1431ef3ae4578392e552009f00b2019b4720735fe5a60"</span><span class="token punctuation">,</span>
                    <span class="token string">"EndpointID"</span>: <span class="token string">"d1a2b7609f2f73a6cac67229a4395eef293f695c0ac4fd6c9c9e6913c9c85c1c"</span><span class="token punctuation">,</span>
                    <span class="token string">"Gateway"</span>: <span class="token string">"172.17.0.1"</span><span class="token punctuation">,</span>
                    <span class="token string">"IPAddress"</span>: <span class="token string">"172.17.0.2"</span><span class="token punctuation">,</span>
                    <span class="token string">"IPPrefixLen"</span>: 16<span class="token punctuation">,</span>
                    <span class="token string">"IPv6Gateway"</span>: <span class="token string">""</span><span class="token punctuation">,</span>
                    <span class="token string">"GlobalIPv6Address"</span>: <span class="token string">""</span><span class="token punctuation">,</span>
                    <span class="token string">"GlobalIPv6PrefixLen"</span>: 0<span class="token punctuation">,</span>
                    <span class="token string">"MacAddress"</span>: <span class="token string">"02:42:ac:11:00:02"</span><span class="token punctuation">,</span>
                    <span class="token string">"DriverOpts"</span>: null
                <span class="token punctuation">}</span>
            <span class="token punctuation">}</span>
        <span class="token punctuation">}</span>
    <span class="token punctuation">}</span>
<span class="token punctuation">]</span>

</code></pre> 
  <pre><code class="prism language-powershell">命令解释
docker inpect 查看容器详细信息
</code></pre> 
  <h3>2.3.4 docker exec</h3> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker exec -it c2 ls /root</span>
anaconda-ks<span class="token punctuation">.</span>cfg  anaconda-post<span class="token punctuation">.</span>log  original-ks<span class="token punctuation">.</span>cfg
</code></pre> 
  <pre><code class="prism language-powershell">命令解释
docker exec 在容器外实现与容器交互执行某命令
<span class="token operator">-</span>it 交互式
c2 正在运行的容器名称
<span class="token function">ls</span> <span class="token operator">/</span>root 在正在运行的容器中运行相关的命令
</code></pre> 
  <pre><code class="prism language-powershell">下面命令与上面命令执行效果一致
<span class="token comment"># docker exec c2 ls /root</span>
anaconda-ks<span class="token punctuation">.</span>cfg
anaconda-post<span class="token punctuation">.</span>log
original-ks<span class="token punctuation">.</span>cfg
</code></pre> 
  <h3>2.3.5 docker attach</h3> 
  <pre><code class="prism language-powershell">查看正在运行的容器
<span class="token comment"># docker ps</span>
CONTAINER ID   IMAGE           COMMAND   CREATED          STATUS          PORTS     NAMES
9f2eea16da4c   centos:latest   <span class="token string">"bash"</span>    13 minutes ago   Up 13 minutes             c2
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@localhost ~]</span><span class="token comment"># docker attach c2</span>
<span class="token namespace">[root@9f2eea16da4c /]</span><span class="token comment">#</span>
</code></pre> 
  <pre><code class="prism language-powershell">命令解释
docker attach 类似于ssh命令,可以进入到容器中
c2 正在运行的容器名称
</code></pre> 
  <pre><code class="prism language-powershell">说明
docker attach 退出容器时,如不需要容器再运行,可直接使用<span class="token keyword">exit</span>退出;如需要容器继续运行,可使用ctrl+p+q
</code></pre> 
  <h3>2.3.6 docker stop</h3> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps</span>
CONTAINER ID   IMAGE           COMMAND   CREATED          STATUS          PORTS     NAMES
9f2eea16da4c   centos:latest   <span class="token string">"bash"</span>    22 minutes ago   Up 22 minutes             c2
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker stop 9f2eea</span>
9f2eea
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps --all</span>
CONTAINER ID   IMAGE           COMMAND                  CREATED          STATUS                       PORTS     NAMES
9f2eea16da4c   centos:latest   <span class="token string">"bash"</span>                   22 minutes ago   Exited <span class="token punctuation">(</span>137<span class="token punctuation">)</span> 4 seconds ago             c2
</code></pre> 
  <h3>2.3.7 docker start</h3> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps --all</span>
CONTAINER ID   IMAGE           COMMAND     CREATED          STATUS                       PORTS     NAMES
9f2eea16da4c   centos:latest   <span class="token string">"bash"</span>      22 minutes ago   Exited <span class="token punctuation">(</span>137<span class="token punctuation">)</span> 4 seconds ago              c2
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker start 9f2eea</span>
9f2eea
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps</span>
CONTAINER ID   IMAGE           COMMAND   CREATED          STATUS          PORTS     NAMES
9f2eea16da4c   centos:latest   <span class="token string">"bash"</span>    24 minutes ago   Up 16 seconds             c2
</code></pre> 
  <h3>2.3.8 docker top</h3> 
  <blockquote> 
   <p>在Docker Host查看容器中运行的进程信息</p> 
  </blockquote> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker top c2</span>
UID    PID     PPID      C      STIME        TTY              TIME                CMD
root  69040   69020      0      18:37       pts/0           00:00:00              bash
</code></pre> 
  <table> 
   <thead> 
    <tr> 
     <th>UID</th> 
     <th>PID</th> 
     <th>PPID</th> 
     <th>C</th> 
     <th>STIME</th> 
     <th>TTY</th> 
     <th>TIME</th> 
     <th>CMD</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td>root</td> 
     <td>69040</td> 
     <td>69020</td> 
     <td>0</td> 
     <td>18:37</td> 
     <td>pts/0</td> 
     <td>00:00:00</td> 
     <td>bash</td> 
    </tr> 
   </tbody> 
  </table> 
  <pre><code class="prism language-powershell">命令解释
docker top 查看container内进程信息,指在docker host上查看,与docker exec <span class="token operator">-</span>it c2 <span class="token function">ps</span> <span class="token operator">-</span>ef不同。
</code></pre> 
  <pre><code class="prism language-powershell">输出说明
UID 容器中运行的命令用户ID
PID 容器中运行的命令PID
PPID 容器中运行的命令父PID,由于PPID是一个容器,此可指为容器在Docker Host中进程ID
C     占用CPU百分比
STIME 启动时间
TTY   运行所在的终端
TIME  运行时间
CMD   执行的命令
</code></pre> 
  <h3>2.3.9 docker rm</h3> 
  <blockquote> 
   <p>如果容器已停止,使用此命令可以直接删除;如果容器处于运行状态,则需要提前关闭容器后,再删除容器。下面演示容器正在运行关闭后删除的方法。</p> 
  </blockquote> 
  <h4>2.3.9.1 指定删除容器</h4> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps</span>
CONTAINER ID   IMAGE           COMMAND   CREATED      STATUS         PORTS     NAMES
9f2eea16da4c   centos:latest   <span class="token string">"bash"</span>    2 days ago   Up 3 seconds             c2
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker stop c2</span>
或
<span class="token comment"># docker stop 9f2eea16da4c</span>
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker rm c2</span>
或
<span class="token comment"># docker rm 9f2eea16da4c</span>
</code></pre> 
  <h4>2.3.9.2 批量删除容器</h4> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps --all</span>
CONTAINER ID   IMAGE           COMMAND          CREATED      STATUS                  PORTS    NAMES
948f234e22a1   centos:latest   <span class="token string">"bash"</span>           2 days ago   Exited <span class="token punctuation">(</span>0<span class="token punctuation">)</span> 2 days ago            c1
01cb3e01273c   centos:latest   <span class="token string">"bash"</span>           2 days ago   Exited <span class="token punctuation">(</span>0<span class="token punctuation">)</span> 2 days ago            systemimage1
46d950fdfb33   nginx:latest    <span class="token string">"/docker-ent..."</span> 2 days ago   Exited <span class="token punctuation">(</span>0<span class="token punctuation">)</span> 2 days ago            upbeat_goldberg
</code></pre> 
  <pre><code class="prism language-powershell"><span class="token comment"># docker ps --all | awk '{if (NR>=2){print $1}}' | xargs docker rm</span>
</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1536923625033068544"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(云原生,docker,容器,linux,云原生)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1903981379700453376.htm"
                           title="Linux 常用命令 - last 【显示历史登录用户列表】" target="_blank">Linux 常用命令 - last 【显示历史登录用户列表】</a>
                        <span class="text-muted">WKJay_</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/%E5%B8%B8%E7%94%A8%E5%91%BD%E4%BB%A4/1.htm">常用命令</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>简介last命令源自英文单词“last”,意为“最后”。该命令用于显示系统中用户的登录和注销记录,以及系统的重启和关机记录。它通过读取/var/log/wtmp文件来获取这些信息,wtmp文件记录了所有用户的登录和注销活动。使用方式last[options][username...][tty...]lastb[options][username...][tty...]常用选项-a,--hostla</div>
                    </li>
                    <li><a href="/article/1903973553510871040.htm"
                           title="docker创建的mysql没有配置文件_使用docker安装mysql, redis, kafka等各类服务" target="_blank">docker创建的mysql没有配置文件_使用docker安装mysql, redis, kafka等各类服务</a>
                        <span class="text-muted">Gyrolt</span>

                        <div>前言大致说来,docker的作用如下绝大部分应用,开发者都可以通过dockerbuild创建镜像,通过dockerpush上传镜像,用户通过dockerpull下载镜像,用dockerrun运行应用。用户不需要再去关心如何搭建环境,如何安装,如何解决不同发行版的库冲突——而且通常不会需要消耗更多的硬件资源,不会明显降低性能。也就是实现了标准化、集装箱如果想要简单使用,可以看答主的这一片文章:番茄番</div>
                    </li>
                    <li><a href="/article/1903973553884164096.htm"
                           title="从 Windows 共享到 Linux:Jenkins 代码部署方案调整" target="_blank">从 Windows 共享到 Linux:Jenkins 代码部署方案调整</a>
                        <span class="text-muted">XMYX-0</span>
<a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/jenkins/1.htm">jenkins</a>
                        <div>文章目录从Windows共享到Linux:Jenkins代码部署方案调整方案1:使用NFS(推荐)介绍特点适用场景在192.168.1.100上配置NFS安装NFS服务器创建共享目录修改NFS共享配置启动NFS并应用配置在controller服务器上挂载NFS安装NFS客户端手动挂载开机自动挂载方案2:使用Rsync(RemoteSync)同步文件介绍特点适用场景在controller服务器上安装</div>
                    </li>
                    <li><a href="/article/1903971788061208576.htm"
                           title="Linux服务器设置jar包开机自启" target="_blank">Linux服务器设置jar包开机自启</a>
                        <span class="text-muted">一个简单的名称</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/jar/1.htm">jar</a>
                        <div>一、准备工作将jar包上传到服务器(本文将jar包上传到/home/project/jar/)新建脚本文件(本文将脚本文件放在/home/project/sh/文件下)注:sentinel-dashboard是我的程序名,可根据实际情况替换二、新建、编辑jar包的启动和停止脚本#启动脚本文件vim/home/project/sh/sentinel-dashboard-start.sh#停止脚本文件</div>
                    </li>
                    <li><a href="/article/1903971031601704960.htm"
                           title="第6章:Dockerfile最佳实践:多阶段构建与镜像优化" target="_blank">第6章:Dockerfile最佳实践:多阶段构建与镜像优化</a>
                        <span class="text-muted">DogDog_Shuai</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>第6章:Dockerfile最佳实践:多阶段构建与镜像优化作者:DogDog_Shuai阅读时间:约30分钟难度:中级目录1.引言2.Dockerfile基础3.多阶段构建4.镜像优化技术5.最佳实践指南6.总结1.引言Dockerfile是构建Docker镜</div>
                    </li>
                    <li><a href="/article/1903970148914622464.htm"
                           title="【Unity网络同步框架 - Nakama研究(二)】" target="_blank">【Unity网络同步框架 - Nakama研究(二)】</a>
                        <span class="text-muted">归海_一刀</span>
<a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F%E5%BC%95%E6%93%8E/1.htm">游戏引擎</a>
                        <div>Unity网络同步框架-Nakama研究(二)虽说官方文档和网站以及论坛建立的不错,而且还有中文翻译且质量也不错,但是总会遇到一些词不达意,说了但是依旧没懂的部分,甚至问AI也问不出什么东西,所以需要有一些比较明显的博客来记录实战部分服务端搭建使用官方推荐的Docker进行安装在将Docker软件下载到Windows环境后,请确保已安装node-js、typescript、lua和Go等环境(后续</div>
                    </li>
                    <li><a href="/article/1903969265715834880.htm"
                           title="C++中的三个交换函数swap、swap_ranges、iter_swap" target="_blank">C++中的三个交换函数swap、swap_ranges、iter_swap</a>
                        <span class="text-muted">爱听雨声的北方汉</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%BB%E8%BD%BB%E6%9D%BE%E6%9D%BE%E5%AD%A6C%2B%2B/1.htm">轻轻松松学C++</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>有三个交换函数,swap、swap_ranges、iter_swap其中需要注意的是容器和数组虽然都可以充当存放元素的数据类型,但是两个不同的概念,之间的区别是可以将容器看成基本的数据类型,可以像处理基本的数据类型一样来处理容器,比如直接赋值,或者当成参数传递给函数做形参;但是数组有所不同,数组是一个包括有很多元素的数据类型,不能像处理基本数据类型那样直接对数组进行操作,需要借助指针。所以之间的区</div>
                    </li>
                    <li><a href="/article/1903966995972419584.htm"
                           title="Tiny RDM:为什么说程序员都需要他,这款开源项目,太好用,轻量化的跨平台Redis桌面客户端,谁用谁知道!!" target="_blank">Tiny RDM:为什么说程序员都需要他,这款开源项目,太好用,轻量化的跨平台Redis桌面客户端,谁用谁知道!!</a>
                        <span class="text-muted">小华同学ai</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>嗨,大家好,我是小华同学,关注我们获得“最新、最全、最优质”开源项目和高效工作学习方法TinyRDM是一款现代化、轻量级的跨平台Redis桌面客户端。它支持Mac、Windows和Linux系统,提供了丰富的功能特性,旨在为开发者提供便捷、高效的Redis操作体验。功能特性极度轻量TinyRDM基于Webview2构建,不内嵌浏览器,这使得它在保持轻量级的同时,也拥有出色的性能。感谢Wails框架</div>
                    </li>
                    <li><a href="/article/1903966112870100992.htm"
                           title="Tiny RDM:轻量级跨平台Redis桌面管理工具" target="_blank">Tiny RDM:轻量级跨平台Redis桌面管理工具</a>
                        <span class="text-muted">廉峥旭</span>

                        <div>TinyRDM:轻量级跨平台Redis桌面管理工具tiny-rdmAModernRedisGUIClient项目地址:https://gitcode.com/gh_mirrors/ti/tiny-rdm项目基础介绍TinyRDM(TinyRedisDesktopManager)是一款现代化的轻量级Redis桌面管理工具,适用于Mac、Windows和Linux平台。该项目主要使用Go、Vue和Ja</div>
                    </li>
                    <li><a href="/article/1903965983807172608.htm"
                           title="Redis桌面工具:Tiny RDM" target="_blank">Redis桌面工具:Tiny RDM</a>
                        <span class="text-muted">微刻时光</span>
<a class="tag" taget="_blank" href="/search/%E5%BE%AE%E7%A7%92%E9%80%9F%E9%80%92/1.htm">微秒速递</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>1.TinyRDM介绍TinyRDM(TinyRedisDesktopManager)是一个现代化、轻量级的Redis桌面客户端,支持Linux、Mac和Windows操作系统。它专为开发和运维人员设计,使得与Redis服务器的交互操作更加便捷愉快。TinyRDM提供了丰富的Redis数据操作功能,具备现代化的界面设计和良好的用户体验,使得Redis的管理和运维变得更加简单高效。2.核心功能极致轻</div>
                    </li>
                    <li><a href="/article/1903964471374704640.htm"
                           title="在控制台中监控 Linux 性能的十种方法" target="_blank">在控制台中监控 Linux 性能的十种方法</a>
                        <span class="text-muted">小郎碎碎念</span>
<a class="tag" taget="_blank" href="/search/Linux%E8%BF%90%E7%BB%B4/1.htm">Linux运维</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>对下面的文章内容进行了总结,也是自己mark一下,以后用到可以直接来这里查看https://www.jeffgeerling.com/blog/2025/top-10-ways-monitor-linux-console10个linux系统重用来查看性能的工具(类top)top:用于监控Linux(或包括macOS在内的任何UNIX系统)的资源使用情况,能展示基本的系统指标,如CPU、内存、任务等</div>
                    </li>
                    <li><a href="/article/1903962573951266816.htm"
                           title="Linux 启动Jar脚本&&设置开机自启【超级详细】" target="_blank">Linux 启动Jar脚本&&设置开机自启【超级详细】</a>
                        <span class="text-muted">黑taoA</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/jar/1.htm">jar</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>Linux启动Jar脚本&&设置开机自启【超级详细】概要服务器开机自启服务重启脚本概要最近在Linux服务器中部署了一个项目(单机版),每次更新服务的时候需要用到好几个命令,停止服务,再重启,并且服务器突然重启后,还需要人工重启服务,非常繁琐,下面展示了两个脚本的写法。。服务器开机自启检查系统是否安装jdk;java-version查看jdk安装位置whereisjava编写脚本restart_y</div>
                    </li>
                    <li><a href="/article/1903959299990810624.htm"
                           title="Linux——信号量(定义、示例、信号量接口、ipcs命令)" target="_blank">Linux——信号量(定义、示例、信号量接口、ipcs命令)</a>
                        <span class="text-muted">Sweep-</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>目录1、信号量2、信号量举例3、信号量的接口4、通过控制进程来完成打印机操作5、ipcs命令1、信号量(1)定义:信号量是一个特殊的变量,一般取正数值。它的值代表允许访问的资源数目,获取资源时,需要对信号量的值进行原子减一,该操作被称为Р操作。当信号量值为О时,代表没有资源可用,Р操作会阻塞。释放资源时工需要对信号量的值进行原子加一,该操作被称为V操作。信号量主要用来同步进程。信号量的值如果只取0</div>
                    </li>
                    <li><a href="/article/1903956025778696192.htm"
                           title="使用Docker部署RabbitMQ" target="_blank">使用Docker部署RabbitMQ</a>
                        <span class="text-muted">九思x</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a>
                        <div>第一步:安装RabbitMQ#1.拉取镜像dockerpullrabbitmq:3.12.0-management#2.启动容器(开放端口+数据持久化)dockerrun-d\--name=share_rabbitmq\-p5672:5672\#AMQP协议端口-p15672:15672\#管理界面端口-v/opt/rabbitmq/data:/var/lib/rabbitmq\#数据持久化目录r</div>
                    </li>
                    <li><a href="/article/1903954008637239296.htm"
                           title="Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南" target="_blank">Spring Boot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南</a>
                        <span class="text-muted">QQ828929QQ</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>SpringBoot拦截器(Interceptor)与过滤器(Filter)深度解析:区别、实现与实战指南一、核心概念对比1.本质区别维度过滤器(Filter)拦截器(Interceptor)规范层级Servlet规范(J2EE标准)SpringMVC框架机制作用范围所有请求(包括静态资源)只处理Controller请求依赖关系不依赖Spring容器完全集成SpringIOC容器执行顺序最先执行(</div>
                    </li>
                    <li><a href="/article/1903950224280317952.htm"
                           title="最常用的Linux指令手册" target="_blank">最常用的Linux指令手册</a>
                        <span class="text-muted">忍界英雄</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>最常用的Linux指令手册一、远程连接1.连接远程服务器sshuser@192.168.1.100二、文件与目录操作2.查看目录内容ls:查看目录内容、ls-l:显示详细信息、ls-al/home:包含隐藏文件3.显示当前路径pwd4.切换目录cd/var/www/html5.创建文件touchfile1.txtfile2.txt、touchlinode{1..10}.txt:创建文件6.写入文件</div>
                    </li>
                    <li><a href="/article/1903950224913657856.htm"
                           title="Kubernets命名空间" target="_blank">Kubernets命名空间</a>
                        <span class="text-muted">忍界英雄</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/k8s/1.htm">k8s</a>
                        <div>Kubernets命名空间什么是命名空间命名空间(Namespace)是一种用于组织和隔离Kubernetes资源的机制。在Kubernetes集群中,命名空间将物理集群划分为多个逻辑部分,每个部分都拥有自己的一组资源(如Pod、Service、ConfigMap等),彼此之间互不干扰,实现资源的隔离管理。不仅Kubernetes具备命名空间的概念,在Docker等容器技术中,也通过命名空间(Na</div>
                    </li>
                    <li><a href="/article/1903943907293589504.htm"
                           title="操作系统高频(一)线程与进程" target="_blank">操作系统高频(一)线程与进程</a>
                        <span class="text-muted">HUZ_小Z</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/1.htm">操作系统</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a>
                        <div>操作系统高频(一)线程与进程1.什么是线程?进程,线程,彼此有什么区别?⭐⭐⭐进程进程(Process)是计算机中的程序关于某数据集合上的一次运行活动,是系统进行资源分配的基本单位。是操作系统结构的基础。进程是线程的容器。程序是指令、数据及其组织形式的描述,进程是程序的实体。线程线程是操作系统最小的运算调度单位。线程包含在进程中,是进程中实际执行任务的单位。在一些操作系统中,线程也被称为轻量级进程</div>
                    </li>
                    <li><a href="/article/1903936720018141184.htm"
                           title="sealos自动部署k8s集群" target="_blank">sealos自动部署k8s集群</a>
                        <span class="text-muted">SilentCodeY</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E5%8E%9F%E7%94%9F/1.htm">云原生</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a>
                        <div>官网:安装K8s集群|Sealos:专为云原生开发打造的以K8s为内核的云操作系统1、sealos工具下载二进制自动下载VERSION=`curl-shttps://api.github.com/repos/labring/sealos/releases/latest|grep-oE'"tag_name":"[^"]+"'|head-n1|cut-d'"'-f4`curl-sfLhttps://m</div>
                    </li>
                    <li><a href="/article/1903932806526988288.htm"
                           title="运维面试题(七)" target="_blank">运维面试题(七)</a>
                        <span class="text-muted">a_j58</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>1.statefulset用来管理有状态的应用程序,有状态是什么意思?每一个pod都有一个固定的网络标识符,在整个生命周期中不会改变。每个实例都可以拥有自己的持久化存储卷,即使容器被删除并重新创建,存储卷仍然存在。StatefulSet确保了Pod按照顺序启动、更新和终止。2.主键是什么,它与索引有什么关系?主键确保表中每一行数据都可以被唯一标识,避免数据重复。主键通常会自动创建一个唯一索引,加快</div>
                    </li>
                    <li><a href="/article/1903930539040108544.htm"
                           title="云原生工程师必修课:如何揪出“假忙真闲”的应用元凶" target="_blank">云原生工程师必修课:如何揪出“假忙真闲”的应用元凶</a>
                        <span class="text-muted">YAMLMaster</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">面试题</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%BC%80%E5%8F%91/1.htm">运维开发</a><a class="tag" taget="_blank" href="/search/devops/1.htm">devops</a>
                        <div>Tagamanent,Spain引言这是一个再经典不过的面试题了,希望大家能学到精髓。开始介绍在分布式系统和高并发场景中,高负载(HighLoad)与低使用率(LowUtilization)的共存矛盾是运维和开发者的常见挑战。这种问题往往隐蔽性强,传统监控指标难以直接定位根因。本文从系统层、应用层、架构层多维度拆解,提供一套完整的排查与优化方法论。核心概念厘清•负载(Load):系统当前待处理任务</div>
                    </li>
                    <li><a href="/article/1903929655296061440.htm"
                           title="k8s运维 设置Pod实现JVM内存根据容器内存动态调整" target="_blank">k8s运维 设置Pod实现JVM内存根据容器内存动态调整</a>
                        <span class="text-muted">风行無痕</span>
<a class="tag" taget="_blank" href="/search/K8S/1.htm">K8S</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a>
                        <div>一、实现方式推荐方案:利用JVM容器感知特性,按比例动态分配。适用场景‌:动态根据Pod内存限制自动分配堆内存,无需硬编码参数Java要求:Java8u191+或Java11+Java8u191+或Java11+支持通过-XX:InitialRAMPercentage替代-Xms,根据容器内存限制自动计算堆内存。在容器环境变量中配置-XX:MaxRAMPercentage=75.0,使JVM根据容</div>
                    </li>
                    <li><a href="/article/1903928644879839232.htm"
                           title="Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)" target="_blank">Linux------Redis(软件安装,Linux下和Windows下),NoSQL(简单了解)</a>
                        <span class="text-muted">.墨迹.</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>文章目录NoSql1.历史1.单机MySql2.Memcached(缓存)+MySql+垂直拆分(读写分离)3.分库分表+水平拆分+MySql集群4.如今最近的年代5.为什么要使用NoSQL2.什么是NoSQL1.NOSQL2.特点3.3v+3高3.NoSQL的四大分类1.kv键值对:2.文档型数据库(bson和json一样):3.列存储数据库:4.图关系型数据库Redis1.初始redis1.简</div>
                    </li>
                    <li><a href="/article/1903917033809047552.htm"
                           title="华为云计算产品系列 | 云上迁移工具RainBow实战详解" target="_blank">华为云计算产品系列 | 云上迁移工具RainBow实战详解</a>
                        <span class="text-muted">降世神童</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97%E6%8A%80%E6%9C%AF%E4%B8%93%E6%A0%8F/1.htm">云计算技术专栏</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA%E4%BA%91/1.htm">华为云</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a>
                        <div>华为云计算产品系列|云上迁移工具RainBow实战详解1.迁移方案2.迁移流程3.迁移实验3.1.Windows系统迁移3.2.Linux系统迁移3.3.存储层迁移1.迁移方案  RainBow可以将物理机或者虚拟机上的业务迁移到华为的虚拟化平台和私有云平台(6.5.1以上支持),还可以实现低版本私有云迁移到高版本私有云。  Rainbow是华为自研迁移工具,支持X86架构下主流的Linux、Wi</div>
                    </li>
                    <li><a href="/article/1903914891757023232.htm"
                           title="微服务即时通信系统---(五)框架学习" target="_blank">微服务即时通信系统---(五)框架学习</a>
                        <span class="text-muted">YangZ123123</span>
<a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1%E5%8D%B3%E6%97%B6%E9%80%9A%E4%BF%A1%E7%B3%BB%E7%BB%9F/1.htm">微服务即时通信系统</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E6%9C%8D%E5%8A%A1/1.htm">微服务</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>目录ODB介绍安装build2安装odb-compiler安装ODB运行时库安装mysql和客户端开发包安装boostprofile库安装总体打包安装总体卸载总体升级头文件包含和编译时指明库ODB常见操作介绍类型映射ODB编程类与接口介绍mysql连接池对象类mysql客户端操作句柄类mysql事务操作类针对可能为空的字段封装的类似于智能指针的类型针对查询结果所封装的容器类和条件类mysql操作句</div>
                    </li>
                    <li><a href="/article/1903910602888245248.htm"
                           title="阿里云在使用 Docker 过程中踩过的坑" target="_blank">阿里云在使用 Docker 过程中踩过的坑</a>
                        <span class="text-muted">weixin_34293059</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>昨天下午朋友在微信上丢给我一条新闻,看看,我们阿里云支持Docker企业版了。我打开一看,果然,阿里云发布了飞天敏捷版,开始支持企业级的Docker容器。美国中部时间4月19日,阿里云在容器技术大会DockerCon2017上正式推出了ApsaraStackAgility,也就是飞天的敏捷版。Docker公司首席执行官BenGolub在大会上宣布了ApsaraStackAgility的正式发布,这</div>
                    </li>
                    <li><a href="/article/1903910350567305216.htm"
                           title="linux内核路由子系统,深入理解Linux网络技术内幕——路由子系统的概念与高级路由..." target="_blank">linux内核路由子系统,深入理解Linux网络技术内幕——路由子系统的概念与高级路由...</a>
                        <span class="text-muted">罗心澄</span>
<a class="tag" taget="_blank" href="/search/linux%E5%86%85%E6%A0%B8%E8%B7%AF%E7%94%B1%E5%AD%90%E7%B3%BB%E7%BB%9F/1.htm">linux内核路由子系统</a>
                        <div>本文讨论IPv4的路由子系统。(IPv6对路由的处理不同)。基本概念路由子系统工作在三层,用来转发入口流量。路由子系统主要设计路由器、路由、路由表等概念。路由器:配备多个网络接口卡(NIC),并且能利用自身网络信息进行入口流量转发的设备。路由:流量转发,决定目的地的过程路由表:转发信息库,该库中储存路由需要本地接收还是转发的信息,以及转发流量时所需要的信息。(即,信息库用来判断,要不要转发,如果要</div>
                    </li>
                    <li><a href="/article/1903910097915015168.htm"
                           title="Linux 内核数据结构解析--哈希链表" target="_blank">Linux 内核数据结构解析--哈希链表</a>
                        <span class="text-muted">Black8Mamba24</span>
<a class="tag" taget="_blank" href="/search/Linux%E5%86%85%E6%A0%B8%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">Linux内核数据结构</a>
                        <div>一、Hash表的基本定义1.1Hash的概念散列表(Hashtable,也叫哈希表),是一种数据结构,可以用于存储Key-Value键值对。也就是说,通过Key来映射到具体的Value。通常用于查找。将Key映射到Value的函数叫做Hash函数,而存储Key-Value的表叫做Hash表。Hasn表常用数组来存储。1.2常用的Hash函数1.3常用的处理碰撞的方法如果说存储空间是无线的,那只要定</div>
                    </li>
                    <li><a href="/article/1903907574500093952.htm"
                           title="深度剖析linux内核万能--双向链表,Hash链表模版" target="_blank">深度剖析linux内核万能--双向链表,Hash链表模版</a>
                        <span class="text-muted">Engineer-Bruce_Yang</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80-%E7%AE%97%E6%B3%95%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E7%BC%96%E7%A8%8B/1.htm">C语言-算法与数据结构编程</a><a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E5%9C%A8%E5%BC%80%E5%8F%91%E4%B8%AD%E7%9A%84%E5%BA%94%E7%94%A8/1.htm">C语言在开发中的应用</a>
                        <div>我们都知道,链表是数据结构中用得最广泛的一种数据结构,对于数据结构,有顺序存储,数组就是一种。有链式存储,链表算一种。当然还有索引式的,散列式的,各种风格的说法,叫法层出不穷,但是万变不离其中,只要知道什么场合用什么样的数据结构,那就行了。那么,标题说的内核万能链表,其实就是内核链表,它到底和我们平常大学学的数据结构的链表有什么不同呢??内核链表,是在linux内核里的一种普遍存在的数据结构,比如</div>
                    </li>
                    <li><a href="/article/1903905933185052672.htm"
                           title="Linux内核中的数据结构与算法(三)哈希链表" target="_blank">Linux内核中的数据结构与算法(三)哈希链表</a>
                        <span class="text-muted">木木0o0欧尼</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                        <div>四,哈希链表谈到链表就不得不谈Linux内核中另外一个重要的结构,哈希链表。讨论这个结构前,你需要对哈希的最基本的概念要清楚哦,由于我们已经讲过Linux内核中的普通链表的结构,这里我们对比他们的区别来了解哈希链表会直观一些。Linux链表认为双指针表头双循环链表对于HASH表来说过于浪费,因而设计了一套用于HASH表的hlist的数据结构,单指针表头双循环链表。hlish表头仅有一个指向首节点的</div>
                    </li>
                                <li><a href="/article/99.htm"
                                       title="ios内付费" target="_blank">ios内付费</a>
                                    <span class="text-muted">374016526</span>
<a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/%E5%86%85%E4%BB%98%E8%B4%B9/1.htm">内付费</a>
                                    <div>近年来写了很多IOS的程序,内付费也用到不少,使用IOS的内付费实现起来比较麻烦,这里我写了一个简单的内付费包,希望对大家有帮助。 
  
具体使用如下: 
这里的sender其实就是调用者,这里主要是为了回调使用。 
[KuroStoreApi kuroStoreProductId:@"产品ID" storeSender:self storeFinishCallBa</div>
                                </li>
                                <li><a href="/article/226.htm"
                                       title="20 款优秀的 Linux 终端仿真器" target="_blank">20 款优秀的 Linux 终端仿真器</a>
                                    <span class="text-muted">brotherlamp</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/linux%E8%A7%86%E9%A2%91/1.htm">linux视频</a><a class="tag" taget="_blank" href="/search/linux%E8%B5%84%E6%96%99/1.htm">linux资料</a><a class="tag" taget="_blank" href="/search/linux%E8%87%AA%E5%AD%A6/1.htm">linux自学</a><a class="tag" taget="_blank" href="/search/linux%E6%95%99%E7%A8%8B/1.htm">linux教程</a>
                                    <div>  
终端仿真器是一款用其它显示架构重现可视终端的计算机程序。换句话说就是终端仿真器能使哑终端看似像一台连接上了服务器的客户机。终端仿真器允许最终用户用文本用户界面和命令行来访问控制台和应用程序。(LCTT 译注:终端仿真器原意指对大型机-哑终端方式的模拟,不过在当今的 Linux 环境中,常指通过远程或本地方式连接的伪终端,俗称“终端”。) 
你能从开源世界中找到大量的终端仿真器,它们</div>
                                </li>
                                <li><a href="/article/353.htm"
                                       title="Solr Deep Paging(solr 深分页)" target="_blank">Solr Deep Paging(solr 深分页)</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/solr%E6%B7%B1%E5%88%86%E9%A1%B5/1.htm">solr深分页</a><a class="tag" taget="_blank" href="/search/solr%E5%88%86%E9%A1%B5%E6%80%A7%E8%83%BD%E9%97%AE%E9%A2%98/1.htm">solr分页性能问题</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2148370 
作者:eksliang(ickes) blg:http://eksliang.iteye.com/ 概述 
长期以来,我们一直有一个深分页问题。如果直接跳到很靠后的页数,查询速度会比较慢。这是因为Solr的需要为查询从开始遍历所有数据。直到Solr的4.7这个问题一直没有一个很好的解决方案。直到solr</div>
                                </li>
                                <li><a href="/article/480.htm"
                                       title="数据库面试题" target="_blank">数据库面试题</a>
                                    <span class="text-muted">18289753290</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98+%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">面试题 数据库</a>
                                    <div>1.union ,union all 
网络搜索出的最佳答案: 
union和union all的区别是,union会自动压缩多个结果集合中的重复结果,而union all则将所有的结果全部显示出来,不管是不是重复。 
Union:对两个结果集进行并集操作,不包括重复行,同时进行默认规则的排序; 
Union All:对两个结果集进行并集操作,包括重复行,不进行排序; 
2.索引有哪些分类?作用是</div>
                                </li>
                                <li><a href="/article/607.htm"
                                       title="Android TV屏幕适配" target="_blank">Android TV屏幕适配</a>
                                    <span class="text-muted">酷的飞上天空</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>先说下现在市面上TV分辨率的大概情况 
两种分辨率为主 
1.720标清,分辨率为1280x720. 
屏幕尺寸以32寸为主,部分电视为42寸 
2.1080p全高清,分辨率为1920x1080 
屏幕尺寸以42寸为主,此分辨率电视屏幕从32寸到50寸都有 
  
适配遇到问题,已1080p尺寸为例: 
分辨率固定不变,屏幕尺寸变化较大。 
如:效果图尺寸为1920x1080,如果使用d</div>
                                </li>
                                <li><a href="/article/734.htm"
                                       title="Timer定时器与ActionListener联合应用" target="_blank">Timer定时器与ActionListener联合应用</a>
                                    <span class="text-muted">永夜-极光</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>功能:在控制台每秒输出一次 
  
代码: 
package Main;
import javax.swing.Timer;
 import java.awt.event.*;

 public class T {
    private static int count = 0; 

    public static void main(String[] args){
</div>
                                </li>
                                <li><a href="/article/861.htm"
                                       title="Ubuntu14.04系统Tab键不能自动补全问题解决" target="_blank">Ubuntu14.04系统Tab键不能自动补全问题解决</a>
                                    <span class="text-muted">随便小屋</span>
<a class="tag" taget="_blank" href="/search/Ubuntu+14.04/1.htm">Ubuntu 14.04</a>
                                    <div>Unbuntu 14.4安装之后就在终端中使用Tab键不能自动补全,解决办法如下: 
  
1、利用vi编辑器打开/etc/bash.bashrc文件(需要root权限) 
sudo vi /etc/bash.bashrc 
 接下来会提示输入密码 
2、找到文件中的下列代码 
#enable bash completion in interactive shells
#if</div>
                                </li>
                                <li><a href="/article/988.htm"
                                       title="学会人际关系三招 轻松走职场" target="_blank">学会人际关系三招 轻松走职场</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA/1.htm">职场</a>
                                    <div>要想成功,仅有专业能力是不够的,处理好与老板、同事及下属的人际关系也是门大学问。如何才能在职场如鱼得水、游刃有余呢?在此,教您简单实用的三个窍门。 
  第一,多汇报 
 最近,管理学又提出了一个新名词“追随力”。它告诉我们,做下属最关键的就是要多请示汇报,让上司随时了解你的工作进度,有了新想法也要及时建议。不知不觉,你就有了“追随力”,上司会越来越了解和信任你。 
  第二,勤沟通 
 团队的力</div>
                                </li>
                                <li><a href="/article/1115.htm"
                                       title="《O2O:移动互联网时代的商业革命》读书笔记" target="_blank">《O2O:移动互联网时代的商业革命》读书笔记</a>
                                    <span class="text-muted">aoyouzi</span>
<a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6%E7%AC%94%E8%AE%B0/1.htm">读书笔记</a>
                                    <div>移动互联网的未来:碎片化内容+碎片化渠道=各式精准、互动的新型社会化营销。 
  
O2O:Online to OffLine 线上线下活动 
O2O就是在移动互联网时代,生活消费领域通过线上和线下互动的一种新型商业模式。 
  
手机二维码本质:O2O商务行为从线下现实世界到线上虚拟世界的入口。 
  
线上虚拟世界创造的本意是打破信息鸿沟,让不同地域、不同需求的人</div>
                                </li>
                                <li><a href="/article/1242.htm"
                                       title="js实现图片随鼠标滚动的效果" target="_blank">js实现图片随鼠标滚动的效果</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%E6%BB%9A%E5%8A%A8%E5%B1%9E%E6%80%A7%E7%9A%84%E8%8E%B7%E5%8F%96/1.htm">滚动属性的获取</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E7%89%87%E6%BB%9A%E5%8A%A8/1.htm">图片滚动</a><a class="tag" taget="_blank" href="/search/%E5%B1%9E%E6%80%A7%E8%8E%B7%E5%8F%96/1.htm">属性获取</a><a class="tag" taget="_blank" href="/search/%E9%A1%B5%E9%9D%A2%E5%8A%A0%E8%BD%BD/1.htm">页面加载</a>
                                    <div>1,获取样式属性值 
top  与顶部的距离
left  与左边的距离
right 与右边的距离
bottom 与下边的距离
zIndex 层叠层次 
  
  例子:获取左边的宽度,当css写在body标签中时 
<div id="adver" style="position:absolute;top:50px;left:1000p</div>
                                </li>
                                <li><a href="/article/1369.htm"
                                       title="ajax同步异步参数async" target="_blank">ajax同步异步参数async</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/async/1.htm">async</a>
                                    <div>        开发项目开发过程中,需要将ajax的返回值赋到全局变量中,然后在该页面其他地方引用,因为ajax异步的原因一直无法成功,需将async:false,使其变成同步的。 
        格式: 
$.ajax({ type: 'POST', ur</div>
                                </li>
                                <li><a href="/article/1496.htm"
                                       title="Webx3框架(1)" target="_blank">Webx3框架(1)</a>
                                    <span class="text-muted">Bill_chen</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a>
                                    <div>Webx是淘宝开发的一套Web开发框架,Webx3是其第三个升级版本;采用Eclipse的开发环境,现在支持java开发; 
采用turbine原型的MVC框架,扩展了Spring容器,利用Maven进行项目的构建管理,灵活的ibatis持久层支持,总的来说,还是一套很不错的Web框架。 
Webx3遵循turbine风格,velocity的模板被分为layout/screen/control三部</div>
                                </li>
                                <li><a href="/article/1623.htm"
                                       title="【MongoDB学习笔记五】MongoDB概述" target="_blank">【MongoDB学习笔记五】MongoDB概述</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                                    <div>MongoDB是面向文档的NoSQL数据库,尽量业界还对MongoDB存在一些质疑的声音,比如性能尤其是查询性能、数据一致性的支持没有想象的那么好,但是MongoDB用户群确实已经够多。MongoDB的亮点不在于它的性能,而是它处理非结构化数据的能力以及内置对分布式的支持(复制、分片达到的高可用、高可伸缩),同时它提供的近似于SQL的查询能力,也是在做NoSQL技术选型时,考虑的一个重要因素。Mo</div>
                                </li>
                                <li><a href="/article/1750.htm"
                                       title="spring/hibernate/struts2常见异常总结" target="_blank">spring/hibernate/struts2常见异常总结</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a>
                                    <div> 
 Spring 
 
①ClassNotFoundException: org.aspectj.weaver.reflect.ReflectionWorld$ReflectionWorldException 
缺少aspectjweaver.jar,该jar包常用于spring aop中 
  
②java.lang.ClassNotFoundException: org.sprin</div>
                                </li>
                                <li><a href="/article/1877.htm"
                                       title="jquery easyui表单重置(reset)扩展思路" target="_blank">jquery easyui表单重置(reset)扩展思路</a>
                                    <span class="text-muted">bozch</span>
<a class="tag" taget="_blank" href="/search/form/1.htm">form</a><a class="tag" taget="_blank" href="/search/jquery+easyui/1.htm">jquery easyui</a><a class="tag" taget="_blank" href="/search/reset/1.htm">reset</a>
                                    <div>在jquery easyui表单中 尚未提供表单重置的功能,这就需要自己对其进行扩展。 
扩展的时候要考虑的控件有: 
 combo,combobox,combogrid,combotree,datebox,datetimebox 
需要对其添加reset方法,reset方法就是把初始化的值赋值给当前的组件,这就需要在组件的初始化时将值保存下来。 
在所有的reset方法添加完毕之后,就需要对fo</div>
                                </li>
                                <li><a href="/article/2004.htm"
                                       title="编程之美-烙饼排序" target="_blank">编程之美-烙饼排序</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a>
                                    <div>
package beautyOfCoding;

import java.util.Arrays;

/*
 *《编程之美》的思路是:搜索+剪枝。有点像是写下棋程序:当前情况下,把所有可能的下一步都做一遍;在这每一遍操作里面,计算出如果按这一步走的话,能不能赢(得出最优结果)。
 *《编程之美》上代码有很多错误,且每个变量的含义令人费解。因此我按我的理解写了以下代码:
 */
</div>
                                </li>
                                <li><a href="/article/2131.htm"
                                       title="Struts1.X 源码分析之ActionForm赋值原理" target="_blank">Struts1.X 源码分析之ActionForm赋值原理</a>
                                    <span class="text-muted">chenbowen00</span>
<a class="tag" taget="_blank" href="/search/struts/1.htm">struts</a>
                                    <div>struts1在处理请求参数之前,首先会根据配置文件action节点的name属性创建对应的ActionForm。如果配置了name属性,却找不到对应的ActionForm类也不会报错,只是不会处理本次请求的请求参数。 
 
如果找到了对应的ActionForm类,则先判断是否已经存在ActionForm的实例,如果不存在则创建实例,并将其存放在对应的作用域中。作用域由配置文件action节点的s</div>
                                </li>
                                <li><a href="/article/2258.htm"
                                       title="[空天防御与经济]在获得充足的外部资源之前,太空投资需有限度" target="_blank">[空天防御与经济]在获得充足的外部资源之前,太空投资需有限度</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90/1.htm">资源</a>
                                    <div> 
      这里有一个常识性的问题: 
 
      地球的资源,人类的资金是有限的,而太空是无限的..... 
 
      就算全人类联合起来,要在太空中修建大型空间站,也不一定能够成功,因为资源和资金,技术有客观的限制.... 
 
&</div>
                                </li>
                                <li><a href="/article/2385.htm"
                                       title="ORACLE临时表—ON COMMIT PRESERVE ROWS" target="_blank">ORACLE临时表—ON COMMIT PRESERVE ROWS</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E4%B8%B4%E6%97%B6%E8%A1%A8/1.htm">临时表</a>
                                    <div>ORACLE临时表 转 
临时表:像普通表一样,有结构,但是对数据的管理上不一样,临时表存储事务或会话的中间结果集,临时表中保存的数据只对当前 
会话可见,所有会话都看不到其他会话的数据,即使其他会话提交了,也看不到。临时表不存在并发行为,因为他们对于当前会话都是独立的。 
创建临时表时,ORACLE只创建了表的结构(在数据字典中定义),并没有初始化内存空间,当某一会话使用临时表时,ORALCE会</div>
                                </li>
                                <li><a href="/article/2512.htm"
                                       title="基于Nginx XSendfile+SpringMVC进行文件下载" target="_blank">基于Nginx XSendfile+SpringMVC进行文件下载</a>
                                    <span class="text-muted">denger</span>
<a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">应用服务器</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%BA%94%E7%94%A8/1.htm">网络应用</a><a class="tag" taget="_blank" href="/search/lighttpd/1.htm">lighttpd</a>
                                    <div>    在平常我们实现文件下载通常是通过普通 read-write方式,如下代码所示。 
 
   @RequestMapping("/courseware/{id}") 
   public void download(@PathVariable("id") String courseID, HttpServletResp</div>
                                </li>
                                <li><a href="/article/2639.htm"
                                       title="scanf接受char类型的字符" target="_blank">scanf接受char类型的字符</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div>/*
	2013年3月11日22:35:54
	目的:学习char只接受一个字符
*/
# include <stdio.h>

int main(void)
{
	int i;
	char ch;

	scanf("%d", &i);
	printf("i = %d\n", i);
	scanf("%</div>
                                </li>
                                <li><a href="/article/2766.htm"
                                       title="学编程的价值" target="_blank">学编程的价值</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a>
                                    <div>发一个人会编程, 想想以后可以教儿女, 是多么美好的事啊, 不管儿女将来从事什么样的职业, 教一教, 对他思维的开拓大有帮助 
  
像这位朋友学习:   
http://blog.sina.com.cn/s/articlelist_2584320772_0_1.html 
  
 
  VirtualGS教程 (By @林泰前): 几十年的老程序员,资深的</div>
                                </li>
                                <li><a href="/article/2893.htm"
                                       title="二维数组(矩阵)对角线输出" target="_blank">二维数组(矩阵)对角线输出</a>
                                    <span class="text-muted">飞天奔月</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a>
                                    <div>今天在BBS里面看到这样的面试题目, 
  
1,二维数组(N*N),沿对角线方向,从右上角打印到左下角如N=4: 4*4二维数组  
{ 1 2 3 4 }
{ 5 6 7 8 }
{ 9 10 11 12 }
{13 14 15 16 } 
打印顺序  
4
3 8
2 7 12
1 6 11 16
5 10 15
9 14
13 
要</div>
                                </li>
                                <li><a href="/article/3020.htm"
                                       title="Ehcache(08)——可阻塞的Cache——BlockingCache" target="_blank">Ehcache(08)——可阻塞的Cache——BlockingCache</a>
                                    <span class="text-muted">234390216</span>
<a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91/1.htm">并发</a><a class="tag" taget="_blank" href="/search/ehcache/1.htm">ehcache</a><a class="tag" taget="_blank" href="/search/BlockingCache/1.htm">BlockingCache</a><a class="tag" taget="_blank" href="/search/%E9%98%BB%E5%A1%9E/1.htm">阻塞</a>
                                    <div>可阻塞的Cache—BlockingCache 
  
       在上一节我们提到了显示使用Ehcache锁的问题,其实我们还可以隐式的来使用Ehcache的锁,那就是通过BlockingCache。BlockingCache是Ehcache的一个封装类,可以让我们对Ehcache进行并发操作。其内部的锁机制是使用的net.</div>
                                </li>
                                <li><a href="/article/3147.htm"
                                       title="mysqldiff对数据库间进行差异比较" target="_blank">mysqldiff对数据库间进行差异比较</a>
                                    <span class="text-muted">jackyrong</span>
<a class="tag" taget="_blank" href="/search/mysqld/1.htm">mysqld</a>
                                    <div>  mysqldiff该工具是官方mysql-utilities工具集的一个脚本,可以用来对比不同数据库之间的表结构,或者同个数据库间的表结构 
   如果在windows下,直接下载mysql-utilities安装就可以了,然后运行后,会跑到命令行下: 
 
1) 基本用法 
   mysqldiff --server1=admin:12345</div>
                                </li>
                                <li><a href="/article/3274.htm"
                                       title="spring data jpa 方法中可用的关键字" target="_blank">spring data jpa 方法中可用的关键字</a>
                                    <span class="text-muted">lawrence.li</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>spring data jpa 支持以方法名进行查询/删除/统计。 
查询的关键字为find 
删除的关键字为delete/remove (>=1.7.x) 
统计的关键字为count (>=1.7.x) 
  
修改需要使用@Modifying注解 
@Modifying
@Query("update User u set u.firstna</div>
                                </li>
                                <li><a href="/article/3401.htm"
                                       title="Spring的ModelAndView类" target="_blank">Spring的ModelAndView类</a>
                                    <span class="text-muted">nicegege</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a>
                                    <div>项目中controller的方法跳转的到ModelAndView类,一直很好奇spring怎么实现的? 
/*
 * Copyright 2002-2010 the original author or authors.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * yo</div>
                                </li>
                                <li><a href="/article/3528.htm"
                                       title="搭建 CentOS 6 服务器(13) - rsync、Amanda" target="_blank">搭建 CentOS 6 服务器(13) - rsync、Amanda</a>
                                    <span class="text-muted">rensanning</span>
<a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a>
                                    <div>(一)rsync 
 
Server端 
 
# yum install rsync
# vi /etc/xinetd.d/rsync
    service rsync
    {
        disable = no
        flags           = IPv6
        socket_type     = stream
        wait    </div>
                                </li>
                                <li><a href="/article/3655.htm"
                                       title="Learn Nodejs 02" target="_blank">Learn Nodejs 02</a>
                                    <span class="text-muted">toknowme</span>
<a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a>
                                    <div>(1)npm是什么   
npm is the package manager for node 
官方网站:https://www.npmjs.com/ 
npm上有很多优秀的nodejs包,来解决常见的一些问题,比如用node-mysql,就可以方便通过nodejs链接到mysql,进行数据库的操作 
在开发过程往往会需要用到其他的包,使用npm就可以下载这些包来供程序调用 
&nb</div>
                                </li>
                                <li><a href="/article/3782.htm"
                                       title="Spring MVC 拦截器" target="_blank">Spring MVC 拦截器</a>
                                    <span class="text-muted">xp9802</span>
<a class="tag" taget="_blank" href="/search/spring+mvc/1.htm">spring mvc</a>
                                    <div>Controller层的拦截器继承于HandlerInterceptorAdapter 
 
 HandlerInterceptorAdapter.java   1  public   abstract   class  HandlerInterceptorAdapter  implements  HandlerIntercep</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>