使用nsenter鏈接容器linux
下載安裝包:wget https://www.kernel.org/pub/linux/utils/util-linux/v2.29/util-linux-2.29.1.tar.gz
redis
解壓、編譯docker
[root@wuhan31-ceph01 util-linux-2.29.1]# ./configure -without-ncurses checking for gcc... no checking for cc... no checking for cl.exe... no configure: error: in `/root/xiaoxuan/util-linux-2.29.1': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details
安裝gccyum install gcc -y
centos
繼續編譯而後make #注意不要make install
make結束後將編譯出的程序nsenter放到/usr/local/bin/cp nsenter /usr/local/bin/
api
如今就可使用nsenter命令了
例:先找出一個容器ipbash
[root@wuhan31-ceph01 ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d141ac504ec6 kolla/centos-source-grafana:rocky "dumb-init --single-…" 2 months ago Up 2 days grafana 41e12c24ba7f kolla/centos-source-horizon:rocky "dumb-init --single-…" 2 months ago Up 2 days horizon 6989a4aeb33a kolla/centos-source-heat-engine:rocky "dumb-init --single-…" 2 months ago Up 2 days heat_engine 35665589b4a4 kolla/centos-source-heat-api-cfn:rocky "dumb-init --single-…" 2 months ago Up 2 days heat_api_cfn f18c98468796 kolla/centos-source-heat-api:rocky "dumb-init --single-…" 2 months ago Up 2 days heat_api bc77f4d3c957 kolla/centos-source-neutron-metadata-agent:rocky "dumb-init --single-…" 2 months ago Up 2 days neutron_metadata_agent 7334b93c6564 kolla/centos-source-neutron-lbaas-agent:rocky "dumb-init --single-…" 2 months ago Up 2 days neutron_lbaas_agent 0dd7a55245c4 kolla/centos-source-neutron-l3-agent:rocky "dumb-init --single-…" 2 months ago Up 2 days neutron_l3_agent beec0f19ec7f kolla/centos-source-neutron-dhcp-agent:rocky "dumb-init --single-…" 2 months ago Up 2 days neutron_dhcp_agent af6841ebc21e kolla/centos-source-neutron-linuxbridge-agent:rocky "dumb-init --single-…" 2 months ago Up 2 days neutron_linuxbridge_agent 49dc0457445d kolla/centos-source-neutron-server:rocky "dumb-init --single-…" 2 months ago Up 2 days neutron_server 677c0be4ab6b kolla/centos-source-nova-compute:rocky "dumb-init --single-…" 2 months ago Up 2 days nova_compute 402b1e673777 kolla/centos-source-nova-novncproxy:rocky "dumb-init --single-…" 2 months ago Up 2 days nova_novncproxy e35729b76996 kolla/centos-source-nova-consoleauth:rocky "dumb-init --single-…" 2 months ago Up 2 days nova_consoleauth 8b193f562e47 kolla/centos-source-nova-conductor:rocky "dumb-init --single-…" 2 months ago Up 2 days nova_conductor 885581445be0 kolla/centos-source-nova-scheduler:rocky "dumb-init --single-…" 2 months ago Up 2 days nova_scheduler 171128b7bcb7 kolla/centos-source-nova-api:rocky "dumb-init --single-…" 2 months ago Up 2 days nova_api 8d7f3de2ad63 kolla/centos-source-nova-placement-api:rocky "dumb-init --single-…" 2 months ago Up 2 days placement_api ab763320f268 kolla/centos-source-nova-libvirt:rocky "dumb-init --single-…" 2 months ago Up 2 days nova_libvirt bbd4c3e2c961 kolla/centos-source-nova-ssh:rocky "dumb-init --single-…" 2 months ago Up 2 days nova_ssh 80e7098f0bfb kolla/centos-source-cinder-backup:rocky "dumb-init --single-…" 2 months ago Up 2 days cinder_backup 20e2ff43d0e1 kolla/centos-source-cinder-volume:rocky "dumb-init --single-…" 2 months ago Up 2 days cinder_volume 6caba29f7ce2 kolla/centos-source-cinder-scheduler:rocky "dumb-init --single-…" 2 months ago Up 2 days cinder_scheduler 3111622e4e83 kolla/centos-source-cinder-api:rocky "dumb-init --single-…" 2 months ago Up 2 days cinder_api 2c011cfae829 kolla/centos-source-glance-api:rocky "dumb-init --single-…" 2 months ago Up 2 days glance_api be84e405afdd kolla/centos-source-kafka:rocky "dumb-init --single-…" 2 months ago Up 2 days kafka 09aef04ad59e kolla/centos-source-keystone-fernet:rocky "dumb-init --single-…" 2 months ago Up 2 days keystone_fernet 2ba9e19844fd kolla/centos-source-keystone-ssh:rocky "dumb-init --single-…" 2 months ago Up 2 days keystone_ssh 8eebe226b065 kolla/centos-source-keystone:rocky "dumb-init --single-…" 2 months ago Up 2 days keystone 662d85c00a64 kolla/centos-source-rabbitmq:rocky "dumb-init --single-…" 2 months ago Up 2 days rabbitmq 7d373ef0fdee kolla/centos-source-mariadb:rocky "dumb-init kolla_sta…" 2 months ago Up 2 days mariadb ab9f5d612925 kolla/centos-source-memcached:rocky "dumb-init --single-…" 2 months ago Up 2 days memcached a728298938f7 kolla/centos-source-kibana:rocky "dumb-init --single-…" 2 months ago Up 2 days kibana 7d22d71cc31b kolla/centos-source-keepalived:rocky "dumb-init --single-…" 2 months ago Up 2 days keepalived dae774ca7e33 kolla/centos-source-haproxy:rocky "dumb-init --single-…" 2 months ago Up 2 days haproxy 14b340bb8139 kolla/centos-source-redis-sentinel:rocky "dumb-init --single-…" 2 months ago Up 2 days redis_sentinel 3023e95f465f kolla/centos-source-redis:rocky "dumb-init --single-…" 2 months ago Up 2 days redis a3ed7e8fe8ff kolla/centos-source-elasticsearch:rocky "dumb-init --single-…" 2 months ago Up 2 days elasticsearch 06b28cd0f7c7 kolla/centos-source-zookeeper:rocky "dumb-init --single-…" 2 months ago Up 2 days zookeeper 630219f5fb29 kolla/centos-source-chrony:rocky "dumb-init --single-…" 2 months ago Up 2 days chrony 6f6189a4dfda kolla/centos-source-cron:rocky "dumb-init --single-…" 2 months ago Up 2 days cron 039f08ec1bbf kolla/centos-source-kolla-toolbox:rocky "dumb-init --single-…" 2 months ago Up 2 days kolla_toolbox f839d23859cc kolla/centos-source-fluentd:rocky "dumb-init --single-…" 2 months ago Up 2 days fluentd
如:先找出容器IDssh
[root@wuhan31-ceph01 ~]# docker ps -a | grep -w mariadb | awk '{print $1}' 7d373ef0fdee
經過容器ID找出容器PIDelasticsearch
[root@wuhan31-ceph01 ~]# docker inspect --format "{{ .State.Pid }}" 7d373ef0fdee 8144
經過容器PID鏈接ide
[root@wuhan31-ceph01 ~]# nsenter --target 8144 --mount --uts --ipc --net --pid ()[root@wuhan31-ceph01 /]#
這樣就鏈接到容器了,memcached
爲了方便這裏作了一個腳本:
#!/bin/bash # # Description: This is sysytem optimization scripts about centos ! ################################################################ # Author:tommy xiao # QQ: 610000107 # Date: 2019.07.31 ################################################################ # Variable settings CONTAINER_NAME=$1 if [ ! -n "$CONTAINER_NAME" ];then echo -e "\033[40;33mUsage: /bin/bash docker.sh container_name\n\033[40;37m" else CONTAINER_ID=`docker ps -a | grep $CONTAINER_NAME -w | awk '{print $1}'` echo -e "\033[40;32mContainer ID:$CONTAINER_ID!!!\n\033[40;37m" CONTAINER_PID=`docker inspect --format "{{ .State.Pid }}" $CONTAINER_ID` echo -e "\033[40;32mContainer PID:$CONTAINER_PID\n\033[40;37m" echo -e "\033[40;32mStart connecting container\n\033[40;37m" nsenter --target $CONTAINER_PID --mount --uts --ipc --net --pid fi