docker部分运维题及处理方式

  • 当要使用 docker api 查询信息的时候,我们需要修改 docker 的配置文件,添加一条 OPTIONS 来使得 api 功能可以使用,请把添加的 OPTIONS 参数以文本形式提交到答题框。
 Vi /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --signature-verification=false  -H unix:///var/run/docker.sock -H tcp://0.0.0.0:2375'
  • 在 server 节点使用 netstat 命令查询仓库监听端口号,查询完毕后通过 lsof
    命令(如命令不存在则手工安装)查询使用此端口号的进程。将以上所有操作命
    令和输出结果以文本形式提交到答题框。
Netstat
Lsof -i:端口号
  • 在 server 节点通过 netstat 命令(如命令不存在则手工安装)查询 docker镜像仓库 PID,使用 top 命令查询上一步查询到的 PID 的资源使用情况。将以上所有操作命令和输出结果以文本形式提交到答题框。
[root@registry ~]# netstat -ntpl
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      724/sshd            
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      802/master          
tcp6       0      0 :::5000                 :::*                    LISTEN      21423/docker-proxy  
tcp6       0      0 :::22                   :::*                    LISTEN      724/sshd            
tcp6       0      0 ::1:25                  :::*                    LISTEN      802/master  
[root@registry ~]# top -p 21423 
top - 07:26:24 up 35 days,  3:06,  1 user,  load average: 0.00, 0.01, 0.05
Tasks:   1 total,   0 running,   1 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.0 us,  0.0 sy,  0.0 ni,100.0 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem :  2049396 total,   118648 free,   127892 used,  1802856 buff/cache
KiB Swap:        0 total,        0 free,        0 used.  1721968 avail Mem 
PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                     
21423 root      20   0  253880  16520   7592 S  0.0  0.8   2:57.51 exe 
  • 在 server 节点通过 docker 命令查询 docker registry 容器最后几条日志,将以上所有操作命令和输出结果以文本形式提交到答题框。
docker logs -f -t --tail X 71f37b7d7a59 
  • 在 server 节点,查询 rancher/server 容器的进程号,建立命名空间/var/run/netns 并与 rancher/server 容器进行连接,通过 ip netns 相关命令查询该容器的 ip,将以上操作命令及检查结果填入答题框。
[root@server opt]# docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                            NAMES
71f37b7d7a59        271f7878a277        "/usr/bin/s6-svscan /"   About an hour ago   Up About an hour    3306/tcp, 0.0.0.0:80->8080/tcp   tender_carson
[root@server opt]# docker inspect -f '{{.State.Pid}}' 71f37b7d7a59
1951
[root@server opt]# mkdir -p /var/run/netns
[root@server opt]# ln -s /proc/1951/ns/net /var/run/netns/1951
[root@server opt]# ip netns
1951
[root@server opt]# ip netns exec 1951 ip a
1: lo: ,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
4: eth0: ,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP 
    link/ether 02:42:ac:11:00:02 brd ff:ff:ff:ff:ff:ff
    inet 172.17.0.2/16 scope global eth0
       valid_lft forever preferred_lft forever
    inet6 fe80::42:acff:fe11:2/64 scope link 
       valid_lft forever preferred_lft forever
[root@server opt]#
  • 在 server 节点查询当前 cgroup 的挂载情况,将以上操作命令及检查结果填入答题框。
[root@registry ~]# mount -t cgroup
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/usr/lib/systemd/systemd-cgroups-agent,name=systemd)
cgroup on /sys/fs/cgroup/cpuset type cgroup (rw,nosuid,nodev,noexec,relatime,cpuset)
cgroup on /sys/fs/cgroup/cpu,cpuacct type cgroup (rw,nosuid,nodev,noexec,relatime,cpuacct,cpu)
cgroup on /sys/fs/cgroup/memory type cgroup (rw,nosuid,nodev,noexec,relatime,memory)
cgroup on /sys/fs/cgroup/devices type cgroup (rw,nosuid,nodev,noexec,relatime,devices)
cgroup on /sys/fs/cgroup/freezer type cgroup (rw,nosuid,nodev,noexec,relatime,freezer)
cgroup on /sys/fs/cgroup/net_cls type cgroup (rw,nosuid,nodev,noexec,relatime,net_cls)
cgroup on /sys/fs/cgroup/blkio type cgroup (rw,nosuid,nodev,noexec,relatime,blkio)
cgroup on /sys/fs/cgroup/perf_event type cgroup (rw,nosuid,nodev,noexec,relatime,perf_event)
cgroup on /sys/fs/cgroup/hugetlb type cgroup (rw,nosuid,nodev,noexec,relatime,hugetlb)
  • 在 server 节点创建 memory 控制的 cgroup,名称为:xiandian,创建完成后将当前进程移动到这个 cgroup 中,通过 cat 相关命令查询 cgroup 中的进程 ID,将以上操作命令及检查结果填入答题框。
# mkdir /sys/fs/cgroup/memory/xiandian
# echo $$
5759
# sudo sh -c "echo $$ >> /sys/fs/cgroup/memory/xiandian/tasks"
# cat /proc/5759/cgroup 
10:hugetlb:/
9:perf_event:/
8:blkio:/system.slice/sshd.service
7:net_cls:/
6:freezer:/
5:devices:/system.slice/sshd.service
4:memory:/xiandian
3:cpuacct,cpu:/system.slice/sshd.service
2:cpuset:/
1:name=systemd:/system.slice/sshd.service
  • 在 server 节点创建 cpu 控制的 cgroup,名称为:xiandian。假设存在进程号为 8888 的进程一直占用 cpu,并且达到 100%,严重影响系统的正常运行。使用cgroup 相关知识在创建的 cgroup 中将此进程操作 cpu 配额调整为 30%。将以上操作命令及检查结果填入答题框。
# mkdir /sys/fs/cgroup/cpu/xiandian
# echo 30000 > /sys/fs/cgroup/cpu/xiandian/cpu.cfs_quota_us
# echo 8888 > /sys/fs/cgroup/cpu/xiandian/tasks
  • 在 server 节点使用 nginx 镜像创建一个容器,只能使用特定的内核,镜像使用 nginx:latest,并通过查看 cgroup 相关文件查看内核使用情况,将以上操作命令及检查结果填入答题框(提示,首先要修改 cpuset.cpus 的参数)。
[root@server images]# docker run -dit --name 1daoyun --cpuset-cpus="0" nginx:latest /bin/bash
6f377e734d407649f8c2703eb336a145a88cd78bdedc077ad1714872b6406514
[root@registry ~]# cat /sys/fs/cgroup/cpuset/system.slice/docker-41a71f67d8d01a6a64a65d1109770e772738e948d4afb278418b1198fd21da47.scope/cpuset.cpus 
  • 在 server 节点创建目录,创建完成后启动镜像为 nginx:latest 的容器,并指定此目录为容器启动的数据卷,创建完成后通过 inspect 命令指定查看数据卷的情况。将以上操作命令及检查结果填入答题框。
Docker run -itd -v /opt nginx:latest
Docker inspect -f  ‘{{.config.volXXXXX}}’ PID
  • 在 server 节点创建目录,创建完成后启动镜像为 nginx:latest 的容器,并指定此目录为容器数据卷/opt 的挂载目录,设置该数据卷为只读模式,创建完成后通过 inspect 命令指定查看 HostConfig 内的 Binds 情况。将以上操作命令及检查结果填入答题框。
Docker run -itd -v /opt:/opt:ro nginx:latest
Docker inspect -f ‘{{.HostConfig.Binds}}’ PID
  • 在 server 节点使用 docker 相关命令使用 mysql:8.0 镜像创建名为 mysqldb的容器,使用镜像 nginx:latest 创建名为 nginxweb 容器,容器连接 mysqldb 容器内数据库,操作完成后使用 inspect 查看有关链接内容的字段,将以上操作命令及检查结果填入答题框。
# docker run -d -it  --name mysqldb  -P  mysql:8.0  /bin/bash
# docker run -d -it  --name nginxweb  -P --link mysqldb:db  nginx:latest  /bin/bash
# docker inspect --format {{.HostConfig.Links}} 49cb289d6e73
[/mysqldb:/nginxweb/db]
  • 在 server 节点通过 bridge 命令(如果不存在则安装该命令 bridge-utils)查看网桥列表,将以上操作命令及检查结果填入答题框。
[root@server ~]# brctl show
bridge name     bridge id               STP enabled     interfaces
docker0         8000.0242231def18       no              veth9f7c884
                                                        vethce03e4b
                                                        vethd762e8b
  • 在 server 节点创建 xd_br 网桥,设立网络的网络地址和掩码为192.168.2.1/24,创建完成后启动该网桥,完成后查看 xd_br 网卡和网桥详细信息,将以上操作命令及检查结果填入答题框。
# brctl  addbr xd_br
# ip addr add  192.168.2.1/24 dev xd_br
# brctl  show
bridge name     bridge id               STP enabled     interfaces
docker0         8000.02421af76ad0       no               veth35b7a00
                                                            veth643076f
                                                            vethde11f52
xd_br           8000.000000000000        no
# ifconfig xd_br
xd_br: flags=4098,MULTICAST>  mtu 1500
        inet 192.168.2.1  netmask 255.255.255.0  broadcast 0.0.0.0
        ether 7e:cb:e4:ca:78:54  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
  • 在 server 节点利用 nginx:latest 镜像运行一个无网络环境的容器,使用inspect 命令只查看该容器的 networks 信息,将以上操作命令及返回结果以文本形式填入答题框。
# docker run -it -d  --net=none ubuntu:14.04.3 /bin/bash
# docker inspect -f ‘{{.XXX.XXX}}’ PID
  • 在 client 节点拉取 mysql:8.0 镜像,拉取完成后查询 docker 镜像列表目录,将以上操作命令及检查结果填入答题框。
[root@server ~]# docker pull mysql:8.0
Trying to pull repository 192.168.200.12:5000/mariadb ... 
latest: Pulling from 192.168.200.12:5000/mariadb
386a066cd84a: Pull complete 
827c8d62b332: Pull complete 
de135f87677c: Pull complete 
05822f26ca6e: Pull complete 
ad65f56a251e: Pull complete 
d71752ae05f3: Pull complete 
87cb39e409d0: Pull complete 
8e300615ba09: Pull complete 
411bb8b40c58: Pull complete 
f38e00663fa6: Pull complete 
7b8e0ed6d4af: Pull complete 
9a599d94dc41: Pull complete 
Digest: sha256:7f9f59d0009c2c0b1a3446ef832bc4a46b64d17963aa1adf590b2793a9f95ceb
Status: Downloaded newer image for 192.168.200.12:5000/mariadb:latest
[root@server ~]# docker images
REPOSITORY                           TAG                 IMAGE ID            CREATED             SIZE
192.168.200.12:5000/mariadb             
  latest              66498efd6bd8        4 months ago        389.9 MB
  • 在 server 节点运行 mysql:8.0 镜像,设置数据库密码为 xd_root,将宿主机13306 端口作为容器 3306 端口映射,进入容器后创建数据库 xd_db,创建用户xiandian,密码为 xd_pass,将此用户对 xd_db 拥有所有权限和允许此用户远程访问,完成后使用 xiandian 用户远程登录数据库查询数据库内的数据库列表,将以上操作命令及检查结果以文本形式填入答题框。
# docker run -itdP -e MYSQL_ROOT_PASSWORD=xd_root -p 13306:3306 192.168.200.12:5000/mariadb:latest
# docker exec -it 8998a53f34da /bin/bash
# mysql -uroot -pxd_root 
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 2
Server version: 10.1.19-MariaDB-1~jessie mariadb.org binary distribution
Copyright (c) 2000, 2016, Oracle, MariaDB Corporation Ab and others.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
MariaDB [(none)]> create database xd_db;
Query OK, 1 row affected (0.01 sec)
MariaDB [(none)]> grant all privileges on xd_db.* to 'xiandian'@'%'  identified by 'xd_pass';
Query OK, 0 rows affected (0.00 sec)
# mysql -uxiandian -pxd_pass -h172.17.0.66 -e "show databases;"
+--------------------+
| Database           |
+--------------------+
| information_schema |
| xd_db              |
+--------------------+
  • 在 server 节点将 mysql 镜像导出,导出名称为 mysql_images.tar,放在/media
    目录下,导出后,查看目录,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]# docker export d6ea46d9d53b > /media/mysql_images.tar
  • 在 server 节点,运行数据库容器,设置数据库密码,使用镜像为mysql:8.0,运行之后,使用命令将容器导出,导出名称为 mysql_container.tar,放在/media目录下,导出后,查看目录,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]# docker run -itdP -e MYSQL_ROOT_PASSWORD=000000 mysql:8.0
Unable to find image 'mysql:8.0' locally
Trying to pull repository 192.168.200.107:5000/mysql ... 
8.0: Pulling from 192.168.200.107:5000/mysql
f49cf87b52c1: Pull complete 
78032de49d65: Pull complete 
837546b20bc4: Pull complete 
9b8316af6cc6: Pull complete 
1056cf29b9f1: Pull complete 
86f3913b029a: Pull complete 
88ee0a67381b: Pull complete 
03bcb8298f42: Pull complete 
e7f60b590748: Pull complete 
0dca38a0e6a0: Pull complete 
87c6d825c7b1: Pull complete 
Digest: sha256:c6a388006b8f706b031279a0102c3b454d9cbee74390a84f3735769f3070d07b
d6ea46d9d53b4d1127c10b4eac24187dce13f5e4a6cab42e9ee477e86e5cf711
[root@server ~]# docker ps
CONTAINER ID        IMAGE                   COMMAND                  CREATED              STATUS              PORTS                              NAMES
d6ea46d9d53b        mysql:8.0               "docker-entrypoint.sh"   About a minute ago   Up About a minute   0.0.0.0:32769->3306/tcp            furious_jones
de2c442f79fb        nginx:latest            "nginx -g 'daemon off"   5 minutes ago        Up 5 minutes        0.0.0.0:32768->80/tcp              xiandian-dir
f6eb503cf7b7        rancher/server:v1.6.5   "/usr/bin/entry /usr/"   4 days ago           Up 4 days           3306/tcp, 0.0.0.0:8080->8080/tcp   fervent_golick
[root@server ~]# docker export d6ea46d9d53b > /media/mysql_container.tar
[root@server ~]# ls /media/
mysql_container.tar
  • 在 server 节点将 tomcat_latest.tar 镜像导入,并打标签,上传至仓库中,将以上操作命令及检查结果以文本形式填入答题框。
Docker load .tar
Docker tag 
Docker push
Docker images
  • 在server节点运行mysql容器,使用镜像为mysql:8.0指定mysql密码,容器运行在后台,使用随机映射端口,容器运行完成后查询容器列表,将以上操作命令及检查结果以文本形式填入答题框。
#Docker run -d -P --restart=always --name=mysql mysql:8.0 -e MYSQL_ROOT_PASSWORD=root mysql
Docker ps -a
  • 在server节点运行mysql容器,使用镜像为mysql:8.0指定mysql密码,容器运行在后台,使用随机映射端口,容器运行完成后查询容器列表,然后将运行的 mysql 容器停止,完成后查询容器状态,将以上操作命令及检查结果以文本形式填入答题框。
#Docker run -d -P --restart=always --name=mysql mysql:8.0 -e MYSQL_ROOT_PASSWORD=root mysql
Docker ps -a
docker images
Docker stop PID
Docker ps -a
  • 在 server 节点,将上题停止的容器启动运行,完成后查询容器状态,将操作命令及返回结果以文本形式提交到答题框。
Docker start PID
Dcker ps -a
  • 在 server 节点,将运行的 mysql 容器重启,将以上操作命令及检查结果以文本形式填入答题框。
Docker restart mysql
Docker ps
  • 在 server 节点,执行一条命令使用 exec 获取 rancher/server 容器正在运行的网络套接字连接情况,将以上操作命令及检查结果以文本形式填入答题框。
# docker exec 4bffd6c930b5 netstat  -ntpl     
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN      -               
tcp6       0      0 :::8080                 :::*                    LISTEN      142/websocket-proxy
tcp6       0      0 :::8081                 :::*                    LISTEN      8/java          
tcp6       0      0 :::8088                 :::*                    LISTEN      149/rancher-catalog
  • 在 server 节点,使用 inspect 只查询 rancher/server 容器的 NetworkSettings内 Networks 网桥信息,将以上操作命令及检查结果以文本形式填入答题框。
# docker inspect -f '{{.xxxxxx.xxxxxx}}' b4a59c6feee8      
  • 在 server 节点,使用 inspect 只查询 rancher/server 容器的 PortBindings 信息,将以上操作命令及检查结果以文本形式填入答题框。
# docker inspect -f '{{.xxxxxx.xxxxxx}}' b4a59c6feee8 
  • 在 server 节点,使用 inspect 只查询 rancher/server 容器的 NetworkSettings内 Ports 信息,将以上操作命令及检查结果以文本形式填入答题框。
# docker inspect -f '{{.xxxxxx.xxxxxx}}' b4a59c6feee8     
  • 在 server 节点,使用 inspect 只查询 rancher/server 镜像的 Volumes 卷组信息,将以上操作命令及检查结果以文本形式填入答题框。
# docker inspect -f '{{.ContainerConfig.Volumes}}' b4a59c6feee8        
map[/var/lib/cattle:{} /var/lib/mysql:{} /var/log/mysql:{}]
  • 在 server 节点,使用 inspect 只查询 rancher/server 镜像的 Entrypoint 信息,将以上操作命令及检查结果以文本形式填入答题框。
# docker inspect -f '{{.xxxxxxx.xxxxx}}' b4a59c6feee8 
  • 在 server 节点,使用 docker 命令查询 rancher/server 容器的进程,将以上操作命令及检查结果以文本形式填入答题框。
docker top CONTAINERID
  • 在 server 节点,使用 docker 命令查列出 rancher/server 容器内发生变化的文件和目录,将以上操作命令及检查结果以文本形式填入答题框。
# docker diff   4bffd6c930b5
C /run
C /run/mysqld
C /run/mysqld/mysqld.pid
C /run/mysqld/mysqld.sock
C /service
C /service/cattle
C /service/cattle/supervise
C /service/cattle/supervise/status
C /service/mysql
C /service/mysql/supervise
C /service/mysql/supervise/status
C /service/mysql/supervise/control
C /usr
C /usr/local
C /usr/local/bin
A /usr/local/bin/docker-machine-driver-packet
C /root
C /root/.bash_history
C /etc
C /etc/mysql
C /etc/mysql/my.cnf
C /tmp
C /tmp/hsperfdata_root
C /tmp/hsperfdata_root/8
A /tmp/jetty-0.0.0.0-8081-58488b81592773dcae114770406e3e1b-_-any-2649025364052028092.dir
  • 在 server 节点,使用 docker 命令查看最后退出的容器的 ID,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]# docker ps -l
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                            NAMES
563d755fc48f        nginx:latest        "nginx -g 'daemon off"   15 hours ago        Up 11 minutes       80/tcp, 0.0.0.0:1000->1000/tcp   my
  • 在 server 节点,将运行的 mysql 容器创建为镜像,完成后查询该镜像,将以上操作命令及检查结果以文本形式填入答题框。
# docker commit 8998a53f34da mysql:latest
# docker images
REPOSITORY                           TAG                 IMAGE ID            CREATED             SIZE
mariadb_new                          latest              b8d391717ee1        6 seconds ago       389.9 MB
  • 在 server 节点查询 registry 容器的 CPU、内存等统计信息,将以上操作命令及检查结果以文本形式填入答题框。
# docker stats 940568599bb2
CONTAINER           CPU %               MEM USAGE / LIMIT     MEM %               NET I/O               BLOCK I/O
940568599bb2        0.00%               155.4 MB / 2.099 GB   7.40%               276.5 kB / 131.5 MB   151.8 MB / 0 B
  • 在 server 节点修改运行的 rancher/server 容器的名称,修改名称为xiandian_server,完成后查询容器列表,将以上操作命令及检查结果以文本形式填入答题框。
docker rename rancher/server xiandian_server
docker ps -a
  • 在 server 节点,使用 docker 命令列举所有的网络,将以上操作命令及检查结果以文本形式填入答题框。
# docker network  ls
NETWORK ID          NAME                DRIVER
98f6f49a08a9        host                host                
f1924f102406        bridge              bridge              
f4b61dd01d6d        none                null  
  • 在 server 节点,使用docker命令查询bridge网络的所有详情,将以上操作命令及检查结果填入答题框。
[root@server ~]# docker network inspect bridge
  • 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建完成后查询网络列表,将以上操作命令及检查结果以文本形式填入答题框。
# docker network create --subnet=192.168.3.0/24 --ip-range=192.168.3.0/24 --gateway=192.168.3.1   xd_net
# docker network ls
  • 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建完成后查询此网络的详细信息,将以上操作命令及检查结果以文本形式填入答题框。
# docker network create --subnet=192.168.3.0/24 --ip-range=192.168.3.0/24 --gateway=192.168.3.1   xd_net
# docker network inspect xd_net
[
    {
        "Name": "xd_net",
        "Id": "ffa150e538894f9c2a4e8e9a53f716a5a8ad86ea1b61aff3f9971e48c1e25588",
        "Scope": "local",
        "Driver": "bridge",
        "IPAM": {
            "Driver": "default",
            "Options": {},
            "Config": [
                {
                    "Subnet": "192.168.3.0/24",
                    "IPRange": "192.168.3.0/24",
                    "Gateway": "192.168.3.1"
                }
            ]
        },
        "Containers": {},
        "Options": {}
    }
]
  • 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建镜像为 centos:latest,容器名称为 centos,使用 docker 网络为 xd_net,创建完成后查询容器使用的网络名称和查询该容器的运行状态,将以上操作命令及检查结果以文本形式填入答题框。
# docker network create --subnet=192.168.3.0/24 --ip-range=192.168.3.0/24 --gateway=192.168.3.1   xd_net
# docker run -ditP --net=xd_net --name centos centos:latest
# docker inspect -f '{{.NetworkSettings.Networks}}' centos 
map[xd_net:0xc8200ba0c0]
# docker ps -a
CONTAINER ID        IMAGE                      COMMAND                  CREATED             STATUS              PORTS                            NAMES
35058aa35fa5        ubuntu:14.04.3             "/bin/bash"              2 minutes ago       Up 2 minutes                                         ubuntu
  • 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建镜像为 centos:latest,容器名称为 centos,使用 docker 网络为 xd_net,创建完成后查询容器 IP 地址,将以上操作命令及检查结果以文本形式填入答题框。
# docker network create --subnet=192.168.3.0/24 --ip-range=192.168.3.0/24 --gateway=192.168.3.1   xd_net
# docker run -ditP --net=xd_net --name centos centos:latest
# docker inspect -f '{{.NetworkSettings.Networks.xd_net}}' ubuntu
{ [] [] ffa150e538894f9c2a4e8e9a53f716a5a8ad86ea1b61aff3f9971e48c1e25588 88bc9e7aaf5c6faee35378df37964a078bd6b7dbf658a63b4f718d88ef56e01f 192.168.3.1 192.168.3.2 24   0 02:42:c0:a8:03:02}
  • 在 server 节点,使用 docker 命令创建名为 xd_net 的网络,网络网段为192.168.3.0/24,网关为 192.168.3.1,创建完成后,查询网络列表,接着删除 docker网络 xd_net,完成后查询 docker 网络列表,将以上操作命令及检查结果以文本形式填入答题框。
# docker network create --subnet=192.168.3.0/24 --ip-range=192.168.3.0/24 --gateway=192.168.3.1   xd_net
# docker network ls
# docker network rm xd_net
# docker network ls
NETWORK ID          NAME                DRIVER
f4b61dd01d6d        none                null                
98f6f49a08a9        host                host                
f1924f102406        bridge              bridge  
  • 在 server 节点,使用 docker 命令只列举 rancher/server 容器的端口映射状态,将以上操作命令及检查结果以文本形式填入答题框。
Docker port  f4b61dd01d6d
  • 在 server 节点,使用 docker 命令打印 rancher/server 镜像的大小,将以上操作命令及检查结果以文本形式填入答题框。
# docker history -H rancher/server:v1.1.4-xd
  • 在 server 节点,使用 docker 命令运行 centos 镜像,运行输出打印“Hello world”,将以上操作命令及检查结果以文本形式填入答题框。
# docker run  centos:latest  /bin/echo "Hello world"
Hello world
  • 在 server 节点,使用 docker 命令运行 centos 镜像,运行输出打印“Hello world”,要求启动命令包含打印完成后自动删除此容器及产生的数据,将以上操作命令及检查结果以文本形式填入答题框。
# docker run --rm ubuntu:14.04.3  /bin/echo "Hello world"
Hello world
  • 在 server 节点,使用 docker 命令将 rancher/server 容器内的/opt/目录拷贝到宿主机的/media/目录下,将以上操作命令及检查结果以文本形式填入答题框。
# docker cp -r 4bffd6c930b5:/opt /media
  • 在 server 节点,使用 docker 命令将当前操作系统的 yum 源的 local.repo文件拷贝到 rancher/server 容器内的/opt/目录下。完成后使用 exec 命令查询容器的/opt 目录下的所有文件列表,将以上操作命令及检查结果以文本形式填入答题框。
# docker cp /etc/yum.repos.d/local.repo 4bffd6c930b5:/opt
# docker exec  4bffd6c930b5 ls /opt
  • 在 server 节点,使用 docker 查询当前系统使用的卷组信息,将以上操作命令及检查结果以文本形式填入答题框
# docker volume ls
  • 在 server 节点,使用 centos:latest 的镜像创建容器,容器挂载使用创建的xd_volume 卷组挂载到 root 分区,完成后通过 inspect 指定查看容器的挂载情况,将以上操作命令及检查结果以文本形式填入答题框。
Mkdir /xd_volume
Docker run -itdP -v /xd_volume:/root centos:latest
Docker inspect -f ‘{{.config.volume}}’ xxxxxxxxxxx
# docker volume ls
DRIVER              VOLUME NAME
local               0f272e99d983c52b7a1099b47158f261a3c8ed3b69ad6857980328bb37469c25
local               a4d71a18abf39258d66bd22e444d0b3740b1d09284035f0987d6faf4ee78ec17
local               a94e079509a6e13d69989d6a3b1bd478640cd57e47de1147939ee5dca68fbc6e
local               1211eb76e9d7f6302cb2a17de5a0a1077df10d069d35bb30dc11bf515d64e15f
  • 使用 supermin5 命令(若命令不存在则自己安装)构建 centos7 系统的docker 镜像,镜像名称为 centos-7,镜像预装 yum、net-tools、initscripts 和 vi 命令,构建完成后提交镜像仓库上传操作,并查看此镜像,将以上操作命令及检查结果以文本形式填入答题框。
    supermin5 -v --prepare bash yum net-tools initscripts vi coreutils -o supermin.d
# supermin5 -v --build --format chroot supermin.d -o appliance.d
# echo 7 > appliance.d/etc/yumars/releasever
# tar --numeric-owner -cpf centos-7.tar -C appliance.d .
# cat centos-7.tar | docker import - 192.168.200.12:5000/centos-7
# docker push 192.168.200.12:5000/centos-7:latest
# docker run -i -t --rm 192.168.200.12:5000/centos-7 /bin/bash     
bash-4.2
# cat /etc/redhat-release
Derived from Red Hat Enterprise Linux 7.1 (Source)
# docker images
REPOSITORY                                   TAG                 IMAGE ID            CREATED             SIZE
192.168.200.12:5000/centos-7                      latest              e40242986ac3        3 minutes ago       258.1 MB
  • 编写以上题构建的 centos-7 镜像为基础镜像,构建 http 服务,Dockerfile要求删除镜像的 yum 源,使用当前系统的 yum 源文件,完成后安装 http 服务,此镜像要求暴露 80 端口。构建的镜像名字叫 http:v1.0。完成后查看 Dockerfile文件并查看镜像列表,将以上操作命令及检查结果以文本形式填入答题框。
[root@server nginx]# cat Dockerfile 
FROM 10.0.6.126:5000/centos-7:latest
MAINTAINER Xiandian
RUN rm -fv /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum install -y httpd
EXPOSE 80
[root@server nginx]# docker build -t 10.0.6.126:5000/httpd:v1.0 .
[root@server nginx]# docker images
REPOSITORY                                                  TAG                 IMAGE ID            CREATED             SIZE
10.0.6.126:5000/httpd                                       v1.0                a41a37cb9467        6 minutes ago       554.2 MB
  • 编写以上题构建的 centos-7 镜像为基础镜像,构建数据库服务,Dockerfile要求删除镜像的 yum 源,使用当前系统的 yum 源文件,完成后安装 mariadb 服务,使用 mysql 用户初始化数据库,添加 MYSQL_USER=xiandian、MYSQL_PASS=xiandian 环境变量,要求数据库支持中文,暴露端口 3306,容器开机运行 mysqld_safe 命令,完成后启动创建的镜像并查询 Dockerfile 文件,进入容器查看容器的数据库列表,将以上操作命令及检查结果以文本形式填入答题框。
# cat Dockerfile
FROM 192.168.200.107:5000/centos:latest
MAINTAINER Xiandian
RUN rm -fv /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum clean all
RUN yum install -y mariadb mariadb-server
ENV LC_ALL en_US.utf8
ENV MYSQL_USER xiandian
ENV MYSQL_PASS xiandian
EXPOSE 3306
CMD /usr/bin/mysqld_safe run
  • 编写以上题构建的 centos-7 镜像为基础镜像,构建 Tomcat 服务,Dockerfile要求删除镜像的 yum 源,使用当前系统的 yum 源文件,安装 java 和 unzip 服务,将提供的 apache-tomcat.zip 文件添加到/root/目录下,暴露端口 8080,将提供的index.html 文件添加到 tomcat 的网页运行的目录下,容器开机运行 catalina.sh 脚本,完成后查询 Dockerfile 文件,查询镜像列表,将以上操作命令及检查结果以文本形式填入答题框。
# cat Dockerfile
FROM 192.168.200.12:5000/centos-7
MAINTAINER Xiandian
RUN rm -fv /etc/yum.repos.d/*
ADD local.repo /etc/yum.repos.d/
RUN yum install -y java unzip
ENV LC_ALL en_US.UTF-8
ADD apache-tomcat.zip  /root/apache-tomcat.zip
RUN unzip /root/apache-tomcat.zip -d /root/
EXPOSE 8080
RUN chmod u+x /root/apache-tomcat-6/bin/*
ADD index.html /root/apache-tomcat-6/webapps/ROOT/index.html
ENV CATALINA_HOME /root/apache-tomcat-6
CMD ${CATALINA_HOME}/bin/catalina.sh run
  • 在 server 节点通过 docker api 查询 docker 的系统信息,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]#  curl -X GET http://localhost:2375/info | python -mjson.tool
  • 在 server 节点通过 docker api 查询 docker 的版本,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]#  curl -X GET http://localhost:2375/version | python -mjson.tool
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   273  100   273    0     0   1804      0 --:--:-- --:--:-- --:--:--  1807
{
    "ApiVersion": "1.24",
    "Arch": "amd64",
    "BuildTime": "2018-01-30T09:17:00.069703428+00:00",
    "GitCommit": "3e8e77d/1.12.6",
    "GoVersion": "go1.8.3",
    "KernelVersion": "3.10.0-229.el7.x86_64",
    "Os": "linux",
    "PkgVersion": "docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64",
    "Version": "1.12.6"
}
  • 在 server 节点通过 docker api 查询 docker 内所有容器,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]#  curl -X GET http://localhost:2375/containers/json?all=1
[{"Id":"f6eb503cf7b7b5074e11de2b77fa6507656e70eabe85050194cd19081facb45f","Names":["/fervent_golick"],"Image":"rancher/server:v1.6.5","ImageID":"sha256:f89070da7581b401a04667ae33e2a6dea560cc43916342e4f128d4a1a025287b","Command":"/usr/bin/entry /usr/bin/s6-svscan /service","Created":1525768870,"Ports":[{"IP":"0.0.0.0","PrivatePort":8080,"PublicPort":8080,"Type":"tcp"},{"PrivatePort":3306,"Type":"tcp"}],"Labels":{},"State":"running","Status":"Up 4 minutes","HostConfig":{"NetworkMode":"default"},"NetworkSettings":{"Networks":{"bridge":{"IPAMConfig":null,"Links":null,"Aliases":null,"NetworkID":"85ad4cb278712b7bed9b46d34fd10a7f63e512e3122e84a9276c769e2a779ab0","EndpointID":"676a1c00df87799942d54affc70e9565dd593e9e42a8783ec2b59d73e0cde757","Gateway":"172.17.0.1","IPAddress":"172.17.0.2","IPPrefixLen":16,"IPv6Gateway":"","GlobalIPv6Address":"","GlobalIPv6PrefixLen":0,"MacAddress":"02:42:ac:11:00:02"}}},"Mounts":[{"Name":"b9be8311ac49a82ca9755368c5431c67fe065eac17547e741905404cb0cc8f15","Source":"/var/lib/docker/volumes/b9be8311ac49a82ca9755368c5431c67fe065eac17547e741905404cb0cc8f15/_data","Destination":"/var/lib/cattle","Driver":"local","Mode":"","RW":true,"Propagation":""},{"Name":"ee44b72e6030df6d3be4c497276fb77a6ca601c6b8004a43b8700c9a74a8212c","Source":"/var/lib/docker/volumes/ee44b72e6030df6d3be4c497276fb77a6ca601c6b8004a43b8700c9a74a8212c/_data","Destination":"/var/lib/mysql","Driver":"local","Mode":"","RW":true,"Propagation":""},{"Name":"312304393cd5cb08e59e1cba3bedb1300cf5a6c7798be566e5acf83b95ed2e28","Source":"/var/lib/docker/volumes/312304393cd5cb08e59e1cba3bedb1300cf5a6c7798be566e5acf83b95ed2e28/_data","Destination":"/var/log/mysql","Driver":"local","Mode":"","RW":true,"Propagation":""}]}]
  • 在 server 节点通过 docker api 查询 docker 内所有镜像,将以上操作命令及检查结果以文本形式填入答题框。
[root@server ~]#  curl -X GET http://localhost:2375/images/json
[{"Id":"sha256:f89070da7581b401a04667ae33e2a6dea560cc43916342e4f128d4a1a025287b","ParentId":"","RepoTags":["192.168.200.107:5000/rancher/server:v1.6.5"],"RepoDigests":["192.168.200.107:5000/rancher/server@sha256:ff1289d72b6a711f1c205556ab9184e77ec37aa73a339c052dd221682666de92"],"Created":1517195642,"Size":984901875,"VirtualSize":984901875,"Labels":{}},{"Id":"sha256:a92c139758db4c89d0cdeaa641566d0cb3305f9f6d2dbd2ca50dd361c02328da","ParentId":"","RepoTags":["192.168.200.107:5000/tomcat:latest"],"RepoDigests":["192.168.200.107:5000/tomcat@sha256:90b2bee496f433123469c91586b19b6e4b1b0c417356ba0240bdcbea1b474a46"],"Created":1516741810,"Size":557380446,"VirtualSize":557380446,"Labels":null},{"Id":"sha256:3f8a4339aadda5897b744682f5f774dc69991a81af8d715d37a616bb4c99edf5","ParentId":"","RepoTags":["192.168.200.107:5000/nginx:latest"],"RepoDigests":["192.168.200.107:5000/nginx@sha256:926b086e1234b6ae9a11589c4cece66b267890d24d1da388c96dd8795b2ffcfb"],"Created":1514312221,"Size":108472156,"VirtualSize":108472156,"Labels":{"maintainer":"NGINX Docker Maintainers \[email protected]\u003e"}},{"Id":"sha256:26bd364f80bf23283c579400bab4bff2d0cd743fbe0df942ad714fbe50111e5b","ParentId":"","RepoTags":["192.168.200.107:5000/mysql:8.0"],"RepoDigests":["192.168.200.107:5000/mysql@sha256:c6a388006b8f706b031279a0102c3b454d9cbee74390a84f3735769f3070d07b"],"Created":1513045422,"Size":342538968,"VirtualSize":342538968,"Labels":null}]
  • 在 server 节点通过 docker api 相关命令查询 rancher/server 镜像的具体信息,将以上操作命令及检查结果以文本形式填入答题框。
# curl -X GET http://localhost:2375/images/271f7878a277/json
  • 根据提供的 tomcat 镜像,创建容器,使用该镜像,并创建/root/www1 目录,在 www1 目录下编写 index.jsp 文件,容器的默认项目地址连接到创建的 www1目录,要求访问 tomcat 的时候输出一句话为 this is Tomcat1,最后启动容器,并启动 tomcat 服务,使用 curl 命令查询 tomcat 的首页,将以上操作命令及检查结果以文本形式填入答题框。
mkdir /root/www1
 vi /root/www1/index.jsp

   
           Tomcat2<<span class="token operator">/</span>title>
   <<span class="token operator">/</span>head>
    <body>
        this is Tomcat1
    <<span class="token operator">/</span>body>
<<span class="token operator">/</span>html>
docker run <span class="token operator">-</span>itdPh tomcat <span class="token operator">--</span>name tomcat <span class="token operator">-</span>v <span class="token operator">/</span>root<span class="token operator">/</span>www1:<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>webapps<span class="token operator">/</span>ROOT tomcat:latest <span class="token operator">/</span>bin<span class="token operator">/</span>bash
docker exec <span class="token operator">-</span>it tomcat <span class="token operator">/</span>bin<span class="token operator">/</span>bash
root@tomcat1:<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token comment"># cd bin/         </span>
root@tomcat1:<span class="token operator">/</span>usr<span class="token operator">/</span>local<span class="token operator">/</span>tomcat<span class="token operator">/</span>bin<span class="token comment"># startup.sh</span>
curl http:<span class="token operator">/</span><span class="token operator">/</span>192<span class="token punctuation">.</span>168<span class="token punctuation">.</span>200<span class="token punctuation">.</span>106:32772
</code></pre> 
  <ul> 
   <li>在 server 节点,使用 docker 命令查看最近创建的 2 个容器的 id,将以上操作命令及检查结果以文本形式填入答题框。</li> 
  </ul> 
  <pre><code class="prism language-powershell"><span class="token namespace">[root@server ~]</span><span class="token comment"># docker ps -n 2</span>
CONTAINER ID        IMAGE                   COMMAND                  CREATED             STATUS              PORTS                              NAMES
563d755fc48f        nginx:latest            <span class="token string">"nginx -g 'daemon off"</span>   15 hours ago        Up 8 minutes        80<span class="token operator">/</span>tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:1000<span class="token operator">-</span>>1000<span class="token operator">/</span>tcp     my
d32cb7cff76d        rancher<span class="token operator">/</span>server:v1<span class="token punctuation">.</span>6<span class="token punctuation">.</span>5   <span class="token string">"/usr/bin/entry /usr/"</span>   18 hours ago        Up 8 minutes        3306<span class="token operator">/</span>tcp<span class="token punctuation">,</span> 0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0<span class="token punctuation">.</span>0:8081<span class="token operator">-</span>>8080<span class="token operator">/</span>tcp   nauseous_booth
</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1279539275142021120"></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部分运维题及处理方式)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1835513551624695808.htm"
                           title="【iOS】MVC设计模式" target="_blank">【iOS】MVC设计模式</a>
                        <span class="text-muted">Magnetic_h</span>
<a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/objective-c/1.htm">objective-c</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a>
                        <div>MVC前言如何设计一个程序的结构,这是一门专门的学问,叫做"架构模式"(architecturalpattern),属于编程的方法论。MVC模式就是架构模式的一种。它是Apple官方推荐的App开发架构,也是一般开发者最先遇到、最经典的架构。MVC各层controller层Controller/ViewController/VC(控制器)负责协调Model和View,处理大部分逻辑它将数据从Mod</div>
                    </li>
                    <li><a href="/article/1835512920797179904.htm"
                           title="element实现动态路由+面包屑" target="_blank">element实现动态路由+面包屑</a>
                        <span class="text-muted">软件技术NINI</span>
<a class="tag" taget="_blank" href="/search/vue%E6%A1%88%E4%BE%8B/1.htm">vue案例</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>el-breadcrumb是ElementUI组件库中的一个面包屑导航组件,它用于显示当前页面的路径,帮助用户快速理解和导航到应用的各个部分。在Vue.js项目中,如果你已经安装了ElementUI,就可以很方便地使用el-breadcrumb组件。以下是一个基本的使用示例:安装ElementUI(如果你还没有安装的话):你可以通过npm或yarn来安装ElementUI。bash复制代码npmi</div>
                    </li>
                    <li><a href="/article/1835511542284644352.htm"
                           title="学点心理知识,呵护孩子健康" target="_blank">学点心理知识,呵护孩子健康</a>
                        <span class="text-muted">静候花开_7090</span>

                        <div>昨天听了华中师范大学教育管理学系副教授张玲老师的《哪里才是学生心理健康的最后庇护所,超越教育与技术的思考》的讲座。今天又重新学习了一遍,收获匪浅。张玲博士也注意到了当今社会上的孩子由于心理问题导致的自残、自杀及伤害他人等恶性事件。她向我们普及了一个重要的命题,她说心理健康的一些基本命题,我们与我们通常的一些教育命题是不同的,她还举了几个例子,让我们明白我们原来以为的健康并非心理学上的健康。比如如果</div>
                    </li>
                    <li><a href="/article/1835510025561403392.htm"
                           title="《投行人生》读书笔记" target="_blank">《投行人生》读书笔记</a>
                        <span class="text-muted">小蘑菇的树洞</span>

                        <div>《投行人生》----作者詹姆斯-A-朗德摩根斯坦利副主席40年的职业洞见-很短小精悍的篇幅,比较适合初入职场的新人。第一部分成功的职业生涯需要规划1.情商归为适应能力分享与协作同理心适应能力,更多的是自我意识,你有能力识别自己的情并分辨这些情绪如何影响你的思想和行为。2.对于初入职场的人的建议,细节,截止日期和数据很重要截止日期,一种有效的方法是请老板为你所有的任务进行优先级排序。和老板喝咖啡的好</div>
                    </li>
                    <li><a href="/article/1835509390879322112.htm"
                           title="扫地机类清洁产品之直流无刷电机控制" target="_blank">扫地机类清洁产品之直流无刷电机控制</a>
                        <span class="text-muted">悟空胆好小</span>
<a class="tag" taget="_blank" href="/search/%E6%B8%85%E6%B4%81%E6%9C%8D%E5%8A%A1%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">清洁服务机器人</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>扫地机类清洁产品之直流无刷电机控制1.1前言扫地机产品有很多的电机控制,滚刷电机1个,边刷电机1-2个,清水泵电机,风机一个,部分中高端产品支持抹布功能,也就是存在抹布盘电机,还有追觅科沃斯石头等边刷抬升电机,滚刷抬升电机等的,这些电机有直流有刷电机,直接无刷电机,步进电机,电磁阀,挪动泵等不同类型。电机的原理,驱动控制方式也不行。接下来一段时间的几个文章会作个专题分析分享。直流有刷电机会自动持续</div>
                    </li>
                    <li><a href="/article/1835508758042734592.htm"
                           title="我校举行新老教师师徒结对仪式暨名师专业工作室工作交流活动" target="_blank">我校举行新老教师师徒结对仪式暨名师专业工作室工作交流活动</a>
                        <span class="text-muted">李蕾1229</span>

                        <div>为促进我校教师专业发展,发挥骨干教师的引领带头作用,11月6日下午,我校举行新老教师师徒结对仪式暨名师专业工作室工作交流活动。图片发自App会议由教师发展处李蕾主任主持,首先,由范校长宣读新老教师结对名单及双方承担职责。随后,两位新调入教师陈玉萍、莫正杰分别和他们的师傅鲍元美、刘召彬老师签订了师徒结对协议书。图片发自App图片发自App师徒拥抱、握手。有了师傅就有了目标有了方向,相信两位新教师在师</div>
                    </li>
                    <li><a href="/article/1835508630959517696.htm"
                           title="向内而求" target="_blank">向内而求</a>
                        <span class="text-muted">陈陈_19b4</span>

                        <div>10月27日,阴。阅读书目:《次第花开》。作者:希阿荣博堪布,是当今藏传佛家宁玛派最伟大的上师法王,如意宝晋美彭措仁波切颇具影响力的弟子之一。多年以来,赴海内外各地弘扬佛法,以正式授课、现场开示、发表文章等多种方法指导佛学弟子修行佛法。代表作《寂静之道》、《生命这出戏》、《透过佛法看世界》自出版以来一直是佛教类书籍中的畅销书。图片发自App金句:1.佛陀说,一切痛苦的根源在于我们长期以来对自身及外</div>
                    </li>
                    <li><a href="/article/1835508130268672000.htm"
                           title="消息中间件有哪些常见类型" target="_blank">消息中间件有哪些常见类型</a>
                        <span class="text-muted">xmh-sxh-1314</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>消息中间件根据其设计理念和用途,可以大致分为以下几种常见类型:点对点消息队列(Point-to-PointMessagingQueues):在这种模型中,消息被发送到特定的队列中,消费者从队列中取出并处理消息。队列中的消息只能被一个消费者消费,消费后即被删除。常见的实现包括IBM的MQSeries、RabbitMQ的部分使用场景等。适用于任务分发、负载均衡等场景。发布/订阅消息模型(Pub/Sub</div>
                    </li>
                    <li><a href="/article/1835508130608410624.htm"
                           title="html 中如何使用 uniapp 的部分方法" target="_blank">html 中如何使用 uniapp 的部分方法</a>
                        <span class="text-muted">某公司摸鱼前端</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>示例代码:Documentconsole.log(window);效果展示:好了,现在就可以uni.使用相关的方法了</div>
                    </li>
                    <li><a href="/article/1835507248395284480.htm"
                           title="【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数" target="_blank">【一起学Rust | 设计模式】习惯语法——使用借用类型作为参数、格式化拼接字符串、构造函数</a>
                        <span class="text-muted">广龙宇</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%80%E8%B5%B7%E5%AD%A6Rust/1.htm">一起学Rust</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Rust%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">Rust设计模式</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言一、使用借用类型作为参数二、格式化拼接字符串三、使用构造函数总结前言Rust不是传统的面向对象编程语言,它的所有特性,使其独一无二。因此,学习特定于Rust的设计模式是必要的。本系列文章为作者学习《Rust设计模式》的学习笔记以及自己的见解。因此,本系列文章的结构也与此书的结构相同(后续可能会调成结构),基本上分为三个部分</div>
                    </li>
                    <li><a href="/article/1835506868877881344.htm"
                           title="每日一题——第八十九题" target="_blank">每日一题——第八十九题</a>
                        <span class="text-muted">互联网打工人no1</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%AF%8F%E6%97%A5%E4%B8%80%E7%BB%83/1.htm">C语言程序设计每日一练</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>题目:在字符串中找到提取数字,并统计一共找到多少整数,a123xxyu23&8889,那么找到的整数为123,23,8889//思想:#include#include#includeintmain(){charstr[]="a123xxyu23&8889";intcount=0;intnum=0;//用于临时存放当前正在构建的整数。boolinNum=false;//用于标记当前是否正在读取一个整</div>
                    </li>
                    <li><a href="/article/1835506869339254784.htm"
                           title="每日一题——第九十题" target="_blank">每日一题——第九十题</a>
                        <span class="text-muted">互联网打工人no1</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%AF%8F%E6%97%A5%E4%B8%80%E7%BB%83/1.htm">C语言程序设计每日一练</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>题目:判断子串是否与主串匹配#include#include#include//////判断子串是否在主串中匹配//////主串///子串///boolisSubstring(constchar*str,constchar*substr){intlenstr=strlen(str);//计算主串的长度intlenSub=strlen(substr);//计算子串的长度//遍历主字符串,对每个可能得</div>
                    </li>
                    <li><a href="/article/1835506616166871040.htm"
                           title="每日一题——第八十一题" target="_blank">每日一题——第八十一题</a>
                        <span class="text-muted">互联网打工人no1</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%AF%8F%E6%97%A5%E4%B8%80%E7%BB%83/1.htm">C语言程序设计每日一练</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>打印如下图案:#includeintmain(){inti,j;charch='A';for(i=1;i<5;i++,ch++){for(j=0;j<5-i;j++){printf("");//控制空格输出}for(j=1;j<2*i;j++)//条件j<2*i{printf("%c",ch);//控制字符输出}printf("\n");}return0;}</div>
                    </li>
                    <li><a href="/article/1835506616682770432.htm"
                           title="每日一题——第八十四题" target="_blank">每日一题——第八十四题</a>
                        <span class="text-muted">互联网打工人no1</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%AF%8F%E6%97%A5%E4%B8%80%E7%BB%83/1.htm">C语言程序设计每日一练</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>题目:编写函数1、输入10个职工的姓名和职工号2、按照职工由大到小顺序排列,姓名顺序也随之调整3、要求输入一个职工号,用折半查找法找出该职工的姓名#define_CRT_SECURE_NO_WARNINGS#include#include#defineMAX_EMPLOYEES10typedefstruct{intid;charname[50];}Empolyee;voidinputEmploye</div>
                    </li>
                    <li><a href="/article/1835506489377255424.htm"
                           title="每日一题——第八十二题" target="_blank">每日一题——第八十二题</a>
                        <span class="text-muted">互联网打工人no1</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%AF%8F%E6%97%A5%E4%B8%80%E7%BB%83/1.htm">C语言程序设计每日一练</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>题目:将一个控制台输入的字符串中的所有元音字母复制到另一字符串中#include#include#include#include#defineMAX_INPUT1024boolisVowel(charp);intmain(){charinput[MAX_INPUT];charoutput[MAX_INPUT];printf("请输入一串字符串:\n");fgets(input,sizeof(inp</div>
                    </li>
                    <li><a href="/article/1835506489817657344.htm"
                           title="每日一题——第八十三题" target="_blank">每日一题——第八十三题</a>
                        <span class="text-muted">互联网打工人no1</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1%E6%AF%8F%E6%97%A5%E4%B8%80%E7%BB%83/1.htm">C语言程序设计每日一练</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a>
                        <div>题目:将输入的整形数字输出,输出1990,输出"1990"#include#defineMAX_INPUT1024intmain(){intarrr_num[MAX_INPUT];intnum,i=0;printf("请输入一个数字:");scanf_s("%d",&num);while(num!=0){arrr_num[i++]=num%10;num/=10;}printf("\"");for(</div>
                    </li>
                    <li><a href="/article/1835505606245576704.htm"
                           title="Python中os.environ基本介绍及使用方法" target="_blank">Python中os.environ基本介绍及使用方法</a>
                        <span class="text-muted">鹤冲天Pro</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>文章目录python中os.environos.environ简介os.environ进行环境变量的增删改查python中os.environ的使用详解1.简介2.key字段详解2.1常见key字段3.os.environ.get()用法4.环境变量的增删改查和判断是否存在4.1新增环境变量4.2更新环境变量4.3获取环境变量4.4删除环境变量4.5判断环境变量是否存在python中os.envi</div>
                    </li>
                    <li><a href="/article/1835502578050363392.htm"
                           title="PHP环境搭建详细教程" target="_blank">PHP环境搭建详细教程</a>
                        <span class="text-muted">好看资源平台</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>PHP是一个流行的服务器端脚本语言,广泛用于Web开发。为了使PHP能够在本地或服务器上运行,我们需要搭建一个合适的PHP环境。本教程将结合最新资料,介绍在不同操作系统上搭建PHP开发环境的多种方法,包括Windows、macOS和Linux系统的安装步骤,以及本地和Docker环境的配置。1.PHP环境搭建概述PHP环境的搭建主要分为以下几类:集成开发环境:例如XAMPP、WAMP、MAMP,这</div>
                    </li>
                    <li><a href="/article/1835502451877310464.htm"
                           title="基于社交网络算法优化的二维最大熵图像分割" target="_blank">基于社交网络算法优化的二维最大熵图像分割</a>
                        <span class="text-muted">智能算法研学社(Jack旭)</span>
<a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E4%BC%98%E5%8C%96%E7%AE%97%E6%B3%95%E5%BA%94%E7%94%A8/1.htm">智能优化算法应用</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E5%83%8F%E5%88%86%E5%89%B2/1.htm">图像分割</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</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.参考文献:6.Matlab代码摘要:本文介绍基于最大熵的图像分割,并且应用社交网络算法进行阈值寻优。1.前言阅读此文章前,请阅读《图像分割:直方图区域划分及信息统计介绍》htt</div>
                    </li>
                    <li><a href="/article/1835502282603589632.htm"
                           title="509. 斐波那契数(每日一题)" target="_blank">509. 斐波那契数(每日一题)</a>
                        <span class="text-muted">lzyprime</span>

                        <div>lzyprime博客(github)创建时间:2021.01.04qq及邮箱:2383518170leetcode笔记题目描述斐波那契数,通常用F(n)表示,形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>1给你n,请计算F(n)。示例1:输入:2输出:1解释:F(2)=F(1)+</div>
                    </li>
                    <li><a href="/article/1835501821569888256.htm"
                           title="关于提高复杂业务逻辑代码可读性的思考" target="_blank">关于提高复杂业务逻辑代码可读性的思考</a>
                        <span class="text-muted">编程经验分享</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E7%BB%8F%E9%AA%8C/1.htm">开发经验</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>目录前言需求场景常规写法拆分方法领域对象总结前言实际工作中大部分时间都是在写业务逻辑,一般都是三层架构,表示层(Controller)接收客户端请求,并对入参做检验,业务逻辑层(Service)负责处理业务逻辑,一般开发都是在这一层中写具体的业务逻辑。数据访问层(Dao)是直接和数据库交互的,用于查数据给业务逻辑层,或者是将业务逻辑层处理后的数据写入数据库。简单的增删改查接口不用多说,基本上写好一</div>
                    </li>
                    <li><a href="/article/1835501772760772608.htm"
                           title="【夜读】提升生活品质的8个建议" target="_blank">【夜读】提升生活品质的8个建议</a>
                        <span class="text-muted">茳淮秀水</span>

                        <div>停止攀比很多人之所以感觉疲惫,部分原因是来自于跟别人攀比。殊不知,攀比得到的满足只是片刻的,过后往往会感到空虚。过分在意别人的评价,丢失的是自己原有的审美,扰乱的是自己最初的节奏。不妨活得洒脱些,自己内心丰盈了,快乐就能更持久。停止自责想改变自己,先从接纳自己开始。越是过分自责,就越难改变现状,因为如果把精力全耗在自责上,就没有精力用来改变了。遇到问题,我们要用正确的心态去面对。与其一味自责,不如</div>
                    </li>
                    <li><a href="/article/1835497965330984960.htm"
                           title="398顺境,逆境" target="_blank">398顺境,逆境</a>
                        <span class="text-muted">戴骁勇</span>

                        <div>2018.11.27周二雾霾最近儿子进入了一段顺境期,今天表现尤其不错。今天的数学测试成绩喜人,没有出现以往的计算错误,整个卷面书写工整,附加题也在规定时间内完成且做对。为迎接体育测试的锻炼有了质的飞跃。坐位体前屈成绩突飞猛进,估测成绩能达到12cm,这和上次测试的零分来比,简直是逆袭。儿子还在不断锻炼和提升,唯恐到时候掉链子。跑步姿势在我的调教下,逐渐正规起来,速度随之也有了提升。今晚测试的50</div>
                    </li>
                    <li><a href="/article/1835497284750635008.htm"
                           title="如何部分格式化提示模板:LangChain中的高级技巧" target="_blank">如何部分格式化提示模板:LangChain中的高级技巧</a>
                        <span class="text-muted">nseejrukjhad</span>
<a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</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/python/1.htm">python</a>
                        <div>标题:如何部分格式化提示模板:LangChain中的高级技巧内容:如何部分格式化提示模板:LangChain中的高级技巧引言在使用大型语言模型(LLM)时,提示工程是一个关键环节。LangChain提供了强大的提示模板功能,让我们能更灵活地构建和管理提示。本文将介绍LangChain中一个高级特性-部分格式化提示模板,这个技巧可以让你的提示管理更加高效和灵活。什么是部分格式化提示模板?部分格式化提</div>
                    </li>
                    <li><a href="/article/1835497076570550272.htm"
                           title="没有一件绝对好看的衣服" target="_blank">没有一件绝对好看的衣服</a>
                        <span class="text-muted">段童</span>

                        <div>没有一件绝对好看的衣服只有好看的人没有绝对好看的人只有你可能会爱上的他没有你绝对会爱上的他只有你从来就缺少的那一部分的自己爱是本能的脆弱是欲望的茧——《没有一件绝对好看的衣服》</div>
                    </li>
                    <li><a href="/article/1835496310099243008.htm"
                           title="春季养肝正当时" target="_blank">春季养肝正当时</a>
                        <span class="text-muted">dxn悟</span>

                        <div>重温快乐2023年2月4日立春。春天来了,春暖花开,小鸟欢唱,那在这样的季节我们如何养肝呢?自然界的春季对应中医五行的木,人体五脏肝属木,“木曰曲直”,是以树干曲曲直直地向上、向外伸长舒展的生发姿态,来形容具有生长、升发、条达、舒畅等特征的食物及现象。根据中医天人相应的理念,肝五行属木,喜条达,主疏泄,与春天相应,所以春天最适合养肝。养肝首先要少生气,因为肝喜条达恶抑郁。人体五志肝为怒,生气发怒最</div>
                    </li>
                    <li><a href="/article/1835496312687128576.htm"
                           title="把握“三度”打造“三有”干部队伍" target="_blank">把握“三度”打造“三有”干部队伍</a>
                        <span class="text-muted">辛德瑞拉卡卡卡</span>

                        <div>“胜败兴亡之分,不得不归咎于人事也”。干部队伍建设工作的好坏,关系到党和国家的发展全局。近日,新疆维吾尔自治区党委书记马兴瑞在部分党群单位走访调研时强调,要努力培养造就忠诚干净担当的高素质专业化干部队伍。各级组织部门应当在培养选拔干部、吸收优秀青年到党内来、培养造就优秀人才上下功夫,切实增强干部投身实践、解决问题、推进工作的能力,着力打造高素质专业化干部队伍。“天生我材必有用”,增强选育有“准度”</div>
                    </li>
                    <li><a href="/article/1835495644123459584.htm"
                           title="Day1笔记-Python简介&标识符和关键字&输入输出" target="_blank">Day1笔记-Python简介&标识符和关键字&输入输出</a>
                        <span class="text-muted">~在杰难逃~</span>
<a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><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/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a>
                        <div>大家好,从今天开始呢,杰哥开展一个新的专栏,当然,数据分析部分也会不定时更新的,这个新的专栏主要是讲解一些Python的基础语法和知识,帮助0基础的小伙伴入门和学习Python,感兴趣的小伙伴可以开始认真学习啦!一、Python简介【了解】1.计算机工作原理编程语言就是用来定义计算机程序的形式语言。我们通过编程语言来编写程序代码,再通过语言处理程序执行向计算机发送指令,让计算机完成对应的工作,编程</div>
                    </li>
                    <li><a href="/article/1835495517774245888.htm"
                           title="python八股文面试题分享及解析(1)" target="_blank">python八股文面试题分享及解析(1)</a>
                        <span class="text-muted">Shawn________</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>#1.'''a=1b=2不用中间变量交换a和b'''#1.a=1b=2a,b=b,aprint(a)print(b)结果:21#2.ll=[]foriinrange(3):ll.append({'num':i})print(11)结果:#[{'num':0},{'num':1},{'num':2}]#3.kk=[]a={'num':0}foriinrange(3):#0,12#可变类型,不仅仅改变</div>
                    </li>
                    <li><a href="/article/1835494257746604032.htm"
                           title="MYSQL面试系列-04" target="_blank">MYSQL面试系列-04</a>
                        <span class="text-muted">king01299</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a>
                        <div>MYSQL面试系列-0417.关于redolog和binlog的刷盘机制、redolog、undolog作用、GTID是做什么的?innodb_flush_log_at_trx_commit及sync_binlog参数意义双117.1innodb_flush_log_at_trx_commit该变量定义了InnoDB在每次事务提交时,如何处理未刷入(flush)的重做日志信息(redolog)。它</div>
                    </li>
                                <li><a href="/article/87.htm"
                                       title="面向对象面向过程" target="_blank">面向对象面向过程</a>
                                    <span class="text-muted">3213213333332132</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>面向对象:把要完成的一件事,通过对象间的协作实现。 
面向过程:把要完成的一件事,通过循序依次调用各个模块实现。 
我把大象装进冰箱这件事为例,用面向对象和面向过程实现,都是用java代码完成。 
 
1、面向对象 
 

package bigDemo.ObjectOriented;

/**
 * 大象类
 * 
 * @Description
 * @author FuJian</div>
                                </li>
                                <li><a href="/article/214.htm"
                                       title="Java Hotspot: Remove the Permanent Generation" target="_blank">Java Hotspot: Remove the Permanent Generation</a>
                                    <span class="text-muted">bookjovi</span>
<a class="tag" taget="_blank" href="/search/HotSpot/1.htm">HotSpot</a>
                                    <div>  
openjdk上关于hotspot将移除永久带的描述非常详细,http://openjdk.java.net/jeps/122 
  
JEP 122: Remove the Permanent Generation

Author	Jon Masamitsu
Organization	Oracle
Created	2010/8/15
Updated	2011/</div>
                                </li>
                                <li><a href="/article/341.htm"
                                       title="正则表达式向前查找向后查找,环绕或零宽断言" target="_blank">正则表达式向前查找向后查找,环绕或零宽断言</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">正则表达式</a>
                                    <div>向前查找和向后查找 
1. 向前查找:根据要匹配的字符序列后面存在一个特定的字符序列(肯定式向前查找)或不存在一个特定的序列(否定式向前查找)来决定是否匹配。.NET将向前查找称之为零宽度向前查找断言。 
    对于向前查找,出现在指定项之后的字符序列不会被正则表达式引擎返回。 
2. 向后查找:一个要匹配的字符序列前面有或者没有指定的</div>
                                </li>
                                <li><a href="/article/468.htm"
                                       title="BaseDao" target="_blank">BaseDao</a>
                                    <span class="text-muted">171815164</span>
<a class="tag" taget="_blank" href="/search/seda/1.htm">seda</a>
                                    <div>

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class BaseDao {

	public Conn</div>
                                </li>
                                <li><a href="/article/595.htm"
                                       title="Ant标签详解--Java命令" target="_blank">Ant标签详解--Java命令</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/Java%E5%91%BD%E4%BB%A4/1.htm">Java命令</a>
                                    <div>        这一篇主要介绍与java相关标签的使用          终于开始重头戏了,Java部分是我们关注的重点也是项目中用处最多的部分。               
1</div>
                                </li>
                                <li><a href="/article/722.htm"
                                       title="[简单]代码片段_电梯数字排列" target="_blank">[简单]代码片段_电梯数字排列</a>
                                    <span class="text-muted">53873039oycg</span>
<a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81/1.htm">代码</a>
                                    <div>       今天看电梯数字排列是9 18 26这样呈倒N排列的,写了个类似的打印例子,如下:       
import java.util.Arrays;

public class 电梯数字排列_S3_Test {
	public static void main(S</div>
                                </li>
                                <li><a href="/article/849.htm"
                                       title="Hessian原理" target="_blank">Hessian原理</a>
                                    <span class="text-muted">云端月影</span>
<a class="tag" taget="_blank" href="/search/hessian%E5%8E%9F%E7%90%86/1.htm">hessian原理</a>
                                    <div>Hessian 原理分析 
 
 
 
 
 
一.      远程通讯协议的基本原理 
 
网络通信需要做的就是将流从一台计算机传输到另外一台计算机,基于传输协议和网络 IO 来实现,其中传输协议比较出名的有 http 、 tcp 、 udp 等等, http 、 tcp 、 udp 都是在基于 Socket 概念上为某类应用场景而扩展出的传输协</div>
                                </li>
                                <li><a href="/article/976.htm"
                                       title="区分Activity的四种加载模式----以及Intent的setFlags" target="_blank">区分Activity的四种加载模式----以及Intent的setFlags</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>  
在多Activity开发中,有可能是自己应用之间的Activity跳转,或者夹带其他应用的可复用Activity。可能会希望跳转到原来某个Activity实例,而不是产生大量重复的Activity。 
这需要为Activity配置特定的加载模式,而不是使用默认的加载模式。 加载模式分类及在哪里配置 
Activity有四种加载模式: 
 
 standard 
 singleTop</div>
                                </li>
                                <li><a href="/article/1103.htm"
                                       title="hibernate几个核心API及其查询分析" target="_blank">hibernate几个核心API及其查询分析</a>
                                    <span class="text-muted">antonyup_2006</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86/1.htm">配置管理</a>
                                    <div>(一)  org.hibernate.cfg.Configuration类 
        读取配置文件并创建唯一的SessionFactory对象.(一般,程序初始化hibernate时创建.) 
        Configuration co</div>
                                </li>
                                <li><a href="/article/1230.htm"
                                       title="PL/SQL的流程控制" target="_blank">PL/SQL的流程控制</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/PL%2FSQL%E7%BC%96%E7%A8%8B/1.htm">PL/SQL编程</a><a class="tag" taget="_blank" href="/search/%E5%BE%AA%E7%8E%AF%E6%8E%A7%E5%88%B6/1.htm">循环控制</a>
                                    <div>PL/SQL也是一门高级语言,所以流程控制是必须要有的,oracle数据库的pl/sql比sqlserver数据库要难,很多pl/sql中有的sqlserver里面没有 
  
流程控制; 
   分支语句 if 条件 then 结果 else 结果  end if ;

  条件语句 case    when   条件  then  结果;

   循环语句  loop    </div>
                                </li>
                                <li><a href="/article/1357.htm"
                                       title="强大的Mockito测试框架" target="_blank">强大的Mockito测试框架</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/mockito/1.htm">mockito</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a>
                                    <div>一.自动生成Mock类        在需要Mock的属性上标记@Mock注解,然后@RunWith中配置Mockito的TestRunner或者在setUp()方法中显示调用MockitoAnnotations.initMocks(this);生成Mock类即可。二.自动注入Mock类到被测试类  &nbs</div>
                                </li>
                                <li><a href="/article/1484.htm"
                                       title="精通Oracle10编程SQL(11)开发子程序" target="_blank">精通Oracle10编程SQL(11)开发子程序</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</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/plsql/1.htm">plsql</a>
                                    <div>/*
 *开发子程序
 */
--子程序目是指被命名的PL/SQL块,这种块可以带有参数,可以在不同应用程序中多次调用
--PL/SQL有两种类型的子程序:过程和函数
--开发过程
--建立过程:不带任何参数
CREATE OR REPLACE PROCEDURE out_time
IS
BEGIN
 DBMS_OUTPUT.put_line(systimestamp);
E</div>
                                </li>
                                <li><a href="/article/1611.htm"
                                       title="【EhCache一】EhCache版Hello World" target="_blank">【EhCache一】EhCache版Hello World</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Hello+world/1.htm">Hello world</a>
                                    <div>本篇是EhCache系列的第一篇,总体介绍使用EhCache缓存进行CRUD的API的基本使用,更细节的内容包括EhCache源代码和设计、实现原理在接下来的文章中进行介绍 
  环境准备 
1.新建Maven项目 
  
2.添加EhCache的Maven依赖 
        <dependency>
            <groupId>ne</div>
                                </li>
                                <li><a href="/article/1738.htm"
                                       title="学习EJB3基础知识笔记" target="_blank">学习EJB3基础知识笔记</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/jboss/1.htm">jboss</a><a class="tag" taget="_blank" href="/search/webservice/1.htm">webservice</a><a class="tag" taget="_blank" href="/search/ejb/1.htm">ejb</a>
                                    <div>最近项目进入系统测试阶段,全赖袁大虾领导有力,保持一周零bug记录,这也让自己腾出不少时间补充知识。花了两天时间把“传智播客EJB3.0”看完了,EJB基本的知识也有些了解,在这记录下EJB的部分知识,以供自己以后复习使用。 
  
EJB是sun的服务器端组件模型,最大的用处是部署分布式应用程序。EJB (Enterprise JavaBean)是J2EE的一部分,定义了一个用于开发基</div>
                                </li>
                                <li><a href="/article/1865.htm"
                                       title="angular.bootstrap" target="_blank">angular.bootstrap</a>
                                    <span class="text-muted">boyitech</span>
<a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/AngularJS+API/1.htm">AngularJS API</a><a class="tag" taget="_blank" href="/search/angular%E4%B8%AD%E6%96%87api/1.htm">angular中文api</a>
                                    <div>angular.bootstrap 
描述:  
    手动初始化angular。 
    这个函数会自动检测创建的module有没有被加载多次,如果有则会在浏览器的控制台打出警告日志,并且不会再次加载。这样可以避免在程序运行过程中许多奇怪的问题发生。 
    使用方法:       angular .</div>
                                </li>
                                <li><a href="/article/1992.htm"
                                       title="java-谷歌面试题-给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数" target="_blank">java-谷歌面试题-给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>

public class SearchInShiftedArray {

	/**
	 * 题目:给定一个固定长度的数组,将递增整数序列写入这个数组。当写到数组尾部时,返回数组开始重新写,并覆盖先前写过的数。
	 * 请在这个特殊数组中找出给定的整数。
	 * 解答:
	 * 其实就是“旋转数组”。旋转数组的最小元素见http://bylijinnan.iteye.com/bl</div>
                                </li>
                                <li><a href="/article/2119.htm"
                                       title="天使还是魔鬼?都是我们制造" target="_blank">天使还是魔鬼?都是我们制造</a>
                                    <span class="text-muted">ducklsl</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a><a class="tag" taget="_blank" href="/search/%E6%95%99%E8%82%B2/1.htm">教育</a><a class="tag" taget="_blank" href="/search/%E6%83%85%E6%84%9F/1.htm">情感</a>
                                    <div>----------------------------剧透请原谅,有兴趣的朋友可以自己看看电影,互相讨论哦!!! 
    从厦门回来的动车上,无意中瞟到了书中推荐的几部关于儿童的电影。当然,这几部电影可能会另大家失望,并不是类似小鬼当家的电影,而是关于“坏小孩”的电影! 
    自己挑了两部先看了看,但是发现看完之后,心里久久不能平</div>
                                </li>
                                <li><a href="/article/2246.htm"
                                       title="[机器智能与生物]研究生物智能的问题" target="_blank">[机器智能与生物]研究生物智能的问题</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E7%89%A9/1.htm">生物</a>
                                    <div> 
 
      我想,人的神经网络和苍蝇的神经网络,并没有本质的区别...就是大规模拓扑系统和中小规模拓扑分析的区别.... 
 
 
      但是,如果去研究活体人类的神经网络和脑系统,可能会受到一些法律和道德方面的限制,而且研究结果也不一定可靠,那么希望从事生物神经网络研究的朋友,不如把</div>
                                </li>
                                <li><a href="/article/2373.htm"
                                       title="获取Android Device的信息" target="_blank">获取Android Device的信息</a>
                                    <span class="text-muted">dai_lm</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>
String phoneInfo = "PRODUCT: " + android.os.Build.PRODUCT;
phoneInfo += ", CPU_ABI: " + android.os.Build.CPU_ABI;
phoneInfo += ", TAGS: " + android.os.Build.TAGS;
ph</div>
                                </li>
                                <li><a href="/article/2500.htm"
                                       title="最佳字符串匹配算法(Damerau-Levenshtein距离算法)的Java实现" target="_blank">最佳字符串匹配算法(Damerau-Levenshtein距离算法)的Java实现</a>
                                    <span class="text-muted">datamachine</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%8C%B9%E9%85%8D/1.htm">字符串匹配</a>
                                    <div>原文:http://www.javacodegeeks.com/2013/11/java-implementation-of-optimal-string-alignment.html------------------------------------------------------------------------------------------------------------</div>
                                </li>
                                <li><a href="/article/2627.htm"
                                       title="小学5年级英语单词背诵第一课" target="_blank">小学5年级英语单词背诵第一课</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/english/1.htm">english</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a>
                                    <div>long 长的 
show 给...看,出示 
mouth 口,嘴 
write 写 
  
use 用,使用 
take 拿,带来 
hand 手 
clever 聪明的 
  
often 经常 
wash 洗 
slow 慢的 
house 房子 
  
water 水 
clean 清洁的 
supper 晚餐 
out 在外 
  
face 脸,</div>
                                </li>
                                <li><a href="/article/2754.htm"
                                       title="macvim的使用实战" target="_blank">macvim的使用实战</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mac/1.htm">mac</a><a class="tag" taget="_blank" href="/search/vim/1.htm">vim</a>
                                    <div>macvim用的是mac里面的vim, 只不过是一个GUI的APP, 相当于一个壳 
  
1. 下载macvim 
https://code.google.com/p/macvim/ 
  
2. 了解macvim 
:h               vim的使用帮助信息 
:h macvim  </div>
                                </li>
                                <li><a href="/article/2881.htm"
                                       title="java二分法查找" target="_blank">java二分法查找</a>
                                    <span class="text-muted">蕃薯耀</span>
<a class="tag" taget="_blank" href="/search/java%E4%BA%8C%E5%88%86%E6%B3%95%E6%9F%A5%E6%89%BE/1.htm">java二分法查找</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%88%86%E6%B3%95/1.htm">二分法</a><a class="tag" taget="_blank" href="/search/java%E4%BA%8C%E5%88%86%E6%B3%95/1.htm">java二分法</a>
                                    <div>java二分法查找 
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 
蕃薯耀 2015年6月23日 11:40:03 星期二 
http:/</div>
                                </li>
                                <li><a href="/article/3008.htm"
                                       title="Spring Cache注解+Memcached" target="_blank">Spring Cache注解+Memcached</a>
                                    <span class="text-muted">hanqunfeng</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a>
                                    <div>Spring3.1 Cache注解  
依赖jar包: 
<!-- simple-spring-memcached -->
		<dependency>
			<groupId>com.google.code.simple-spring-memcached</groupId>
			<artifactId>simple-s</div>
                                </li>
                                <li><a href="/article/3135.htm"
                                       title="apache commons io包快速入门" target="_blank">apache commons io包快速入门</a>
                                    <span class="text-muted">jackyrong</span>
<a class="tag" taget="_blank" href="/search/apache+commons/1.htm">apache commons</a>
                                    <div>原文参考 
http://www.javacodegeeks.com/2014/10/apache-commons-io-tutorial.html 
 
  Apache Commons IO 包绝对是好东西,地址在http://commons.apache.org/proper/commons-io/,下面用例子分别介绍: 
  1)  工具类 
  2</div>
                                </li>
                                <li><a href="/article/3262.htm"
                                       title="如何学习编程" target="_blank">如何学习编程</a>
                                    <span class="text-muted">lampcy</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div>首先,我想说一下学习思想.学编程其实跟网络游戏有着类似的效果.开始的时候,你会对那些代码,函数等产生很大的兴趣,尤其是刚接触编程的人,刚学习第一种语言的人.可是,当你一步步深入的时候,你会发现你没有了以前那种斗志.就好象你在玩韩国泡菜网游似的,玩到一定程度,每天就是练级练级,完全是一个想冲到高级别的意志力在支持着你.而学编程就更难了,学了两个月后,总是觉得你好象全都学会了,却又什么都做不了,又没有</div>
                                </li>
                                <li><a href="/article/3389.htm"
                                       title="架构师之spring-----spring3.0新特性的bean加载控制@DependsOn和@Lazy" target="_blank">架构师之spring-----spring3.0新特性的bean加载控制@DependsOn和@Lazy</a>
                                    <span class="text-muted">nannan408</span>
<a class="tag" taget="_blank" href="/search/Spring3/1.htm">Spring3</a>
                                    <div>1.前言。 
   如题。 
2.描述。 
   


@DependsOn用于强制初始化其他Bean。可以修饰Bean类或方法,使用该Annotation时可以指定一个字符串数组作为参数,每个数组元素对应于一个强制初始化的Bean。

@DependsOn({"steelAxe","abc"})
@Comp</div>
                                </li>
                                <li><a href="/article/3516.htm"
                                       title="Spring4+quartz2的配置和代码方式调度" target="_blank">Spring4+quartz2的配置和代码方式调度</a>
                                    <span class="text-muted">Everyday都不同</span>
<a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%A0%81/1.htm">代码</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE/1.htm">配置</a><a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a><a class="tag" taget="_blank" href="/search/quartz2.x/1.htm">quartz2.x</a><a class="tag" taget="_blank" href="/search/%E5%AE%9A%E6%97%B6%E4%BB%BB%E5%8A%A1/1.htm">定时任务</a>
                                    <div>前言:这些天简直被quartz虐哭。。因为quartz 2.x版本相比quartz1.x版本的API改动太多,所以,只好自己去查阅底层API…… 
  
quartz定时任务必须搞清楚几个概念: 
JobDetail——处理类 
Trigger——触发器,指定触发时间,必须要有JobDetail属性,即触发对象 
Scheduler——调度器,组织处理类和触发器,配置方式一般只需指定触发</div>
                                </li>
                                <li><a href="/article/3643.htm"
                                       title="Hibernate入门" target="_blank">Hibernate入门</a>
                                    <span class="text-muted">tntxia</span>
<a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a>
                                    <div>  
前言 
  
使用面向对象的语言和关系型的数据库,开发起来很繁琐,费时。由于现在流行的数据库都不面向对象。Hibernate 是一个Java的ORM(Object/Relational Mapping)解决方案。 
  
Hibernte不仅关心把Java对象对应到数据库的表中,而且提供了请求和检索的方法。简化了手工进行JDBC操作的流程。 
  
如</div>
                                </li>
                                <li><a href="/article/3770.htm"
                                       title="Math类" target="_blank">Math类</a>
                                    <span class="text-muted">xiaoxing598</span>
<a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a>
                                    <div>一、Java中的数字(Math)类是final类,不可继承。 
1、常数    PI:double圆周率 E:double自然对数    
2、截取(注意方法的返回类型)    double ceil(double d) 返回不小于d的最小整数 double floor(double d) 返回不大于d的整最大数   int round(float f) 返回四舍五入后的整数 long round</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><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>