kk Blog —— 通用基础


date [-d @int|str] [+%s|"+%F %T"]
netstat -ltunp
sar -n DEV 1

docker 容器里使用systemctl命令

error 1

bash: service: command not found

1
yum install initscripts -y

error 2

System has not been booted with systemd as init system (PID 1). Can’t operate.

容器的命令:

1
docker run -d --name centos_1 -it  centos:latest /bin/bash

需要修改为

1
docker run -tid --name centos_1 --privileged=true centos:latest /sbin/init

也就是加–privileged=true,修改/binbash 为/sbin/init

Docker容器进入的4种方式

https://www.cnblogs.com/xhyan/p/6593075.html

创建一个守护态的Docker容器

1
$ sudo docker run -itd ubuntu:14.04 /bin/bash  

进入Docker容器比较常见的几种做法如下:

一、使用docker exec进入Docker容器

1
2
$ sudo docker ps  
$ sudo docker exec -it 775c7c9ee1e1 /bin/bash

二、使用docker attach进入Docker容器

1
$ sudo docker attach 44fc0f0582d9  

使用该命令有一个问题。当多个窗口同时使用该命令进入该容器时,所有的窗口都会同步显示。如果有一个窗口阻塞了,那么其他窗口也无法再进行操作。

因为这个原因,所以docker attach命令不太适合于生产环境,平时自己开发应用时可以使用该命令。

三、使用SSH进入Docker容器

四、使用nsenter进入Docker容器

docker proxy

https://www.jianshu.com/p/b26fad1534d9

该方法适用于Debian/Ubuntu,RedHat/CentOS系统。修改配置后,会持续生效,其中的设置将覆盖docker.service中的选项

创建目录

1
mkdir -p /etc/systemd/system/docker.service.d

添加网络代理配置文件

1
vim /etc/systemd/system/docker.service.d/http-proxy.conf

加入如下配置

proxy-addr为代理IP或域名;proxy-port为代理端口;NO_PROXY后面接不需要代理的仓库的域名或者IP,以英文逗号结尾

1
2
[Service]
Environment="HTTP_PROXY=http://proxy-addr:proxy-port" "HTTPS_PROXY=http://proxy-addr:proxy-port" "NO_PROXY=localhost,127.0.0.1,docker-registry.somecorporation.com"

重载配置并重启dockers服务

1
2
systemctl daemon-reload
systemctl restart docker