docker cp 命令使用方法

docker cp 的作用和linux 的cp是一样的,用来在宿主机和容器之间复制文件

[root@localhost ~]# docker cp --help

Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH

Copy files/folders between a container and the local filesystem

Options:
-a, --archive Archive mode (copy all uid/gid information)
-L, --follow-link Always follow symbol link in SRC_PATH

-a复制所有的信息包括用户名和用户组

使用方法上面写得很清楚了

docker cp 选项 源路径 目标路径,如果是容器,需要写 容器名:绝对路径,容器名可以用id来代替

示范:刚才已创建了ubuntu容器,不会的看前面的日志

[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7103a04f97d3 ubuntu:14.04 "/bin/bash" 2 hours ago Up 2 hours ubuntu
[root@localhost ~]# docker exec -it ubuntu bash
root@7103a04f97d3:/# pwd
/
root@7103a04f97d3:/# cd home/
root@7103a04f97d3:/home# pwd
/home
在容器的/home文件夹下面随便写点什么东西
root@7103a04f97d3:/home# echo "It is a docker space" > test.txt
root@7103a04f97d3:/home# ls
test.txt
root@7103a04f97d3:/home# cat test.txt 
It is a docker space

退出容器,别忘了,要用ctrl+p,然后ctlr+q

root@7103a04f97d3:/home# read escape sequence
[root@localhost ~]# 

从容器里面复制文件到本地

[root@localhost ~]# docker cp ubuntu:/home/test.txt ./test1.txt
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg test1.txt 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# cat test1.txt 
It is a docker space
容器名可以用id号来代替
[root@localhost ~]# docker cp 7103:/home/test.txt ./test2.txt
[root@localhost ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg test1.txt test2.txt 公共 模板 视频 图片 文档 下载 音乐 桌面
[root@localhost ~]# cat test2.txt 
It is a docker space

现在反过来,从真机复制文件到容器

[root@localhost ~]# echo "It is a real space" > rtest.txt
[root@localhost ~]# cat rtest.txt 
It is a real space
[root@localhost ~]# docker cp rtest.txt ubuntu:/home
[root@localhost ~]# docker cp rtest.txt 7103a:/home/rtest2.txt
[root@localhost ~]# 
[root@localhost ~]# docker exec -it ubuntu bash
root@7103a04f97d3:/# cd home/
root@7103a04f97d3:/home# ls
rtest.txt rtest2.txt test.txt
root@7103a04f97d3:/home# cat rtest.txt rtest2.txt 
It is a real space
It is a real space
root@7103a04f97d3:/home# 

其实真机到容器的方法太多了,可以挂载数据卷,也可以用cp,还可以直接echo,这些后面再演示

发表在 Docker | 标签为 | 留下评论

docker attach命令使用

docker attach主要用来进入容器内部,之前创建了一个ubuntu的镜像,具体过程看之前的日志,现在进去瞅瞅

[root@localhost ~]# docker attach ubuntu
root@7103a04f97d3:/# 
root@7103a04f97d3:/# ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:ac:11:00:02 
inet addr:172.17.0.2 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:22 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:2406 (2.4 KB) TX bytes:0 (0.0 B)

lo Link encap:Local Loopback 
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1 
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)

root@7103a04f97d3:/# 


root@7103a04f97d3:/# pwd
/
root@7103a04f97d3:/# ll
total 4
drwxr-xr-x. 1 root root 6 Jul 4 11:31 ./
drwxr-xr-x. 1 root root 6 Jul 4 11:31 ../
-rwxr-xr-x. 1 root root 0 Jul 4 11:31 .dockerenv*
drwxr-xr-x. 2 root root 4096 May 15 01:25 bin/
drwxr-xr-x. 2 root root 6 Apr 10 2014 boot/
drwxr-xr-x. 5 root root 360 Jul 4 11:31 dev/
drwxr-xr-x. 1 root root 66 Jul 4 11:31 etc/
drwxr-xr-x. 2 root root 6 Apr 10 2014 home/
drwxr-xr-x. 12 root root 208 May 15 01:25 lib/
drwxr-xr-x. 2 root root 34 May 15 01:24 lib64/
drwxr-xr-x. 2 root root 6 May 15 01:23 media/
drwxr-xr-x. 2 root root 6 Apr 10 2014 mnt/
drwxr-xr-x. 2 root root 6 May 15 01:23 opt/
dr-xr-xr-x. 214 root root 0 Jul 4 11:31 proc/
drwx------. 2 root root 37 May 15 01:25 root/
drwxr-xr-x. 1 root root 21 May 15 21:21 run/
drwxr-xr-x. 1 root root 44 May 15 21:21 sbin/
drwxr-xr-x. 2 root root 6 May 15 01:23 srv/
dr-xr-xr-x. 13 root root 0 Apr 11 2018 sys/
drwxrwxrwt. 2 root root 6 May 15 01:25 tmp/
drwxr-xr-x. 1 root root 18 May 15 01:23 usr/
drwxr-xr-x. 1 root root 17 May 15 01:25 var/
root@7103a04f97d3:/# free -m
total used free shared buffers cached
Mem: 3935 3670 265 12 5 2024
-/+ buffers/cache: 1640 2295
Swap: 8191 0 8191

可以进去玩一玩,但是退出要注意:不能使用exit或者ctrl+c,这样的话,相当于把容器直接停止

要退出容器,应该使用ctrl+p,此时屏幕没反应,然后使用ctrl+q,就可以退出虚拟终端了,而且容器也在运行

root@7103a04f97d3:/# read escape sequence
[root@localhost ~]# 
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7103a04f97d3 ubuntu:14.04 "/bin/bash" 22 minutes ago Up 22 minutes ubuntu

不过特别注意,官方并不推荐使用这个命令进入开启了交互模式的容器,即使加了-t,后台运行,也不推荐

发表在 Docker | 标签为 | 留下评论

docker run命令使用

docker run :创建一个新的容器并运行一个命令

语法

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS说明:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的高端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • –name=”nginx-lb”: 为容器指定一个名称;
  • –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h “mars”: 指定容器的hostname;
  • -e username=”ritchie”: 设置环境变量;
  • –env-file=[]: 从指定文件读入环境变量;
  • –cpuset=”0-2″ or –cpuset=”0,1,2″: 绑定容器到指定CPU运行;
  • -m :设置容器使用内存最大值;
  • –net=”bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container:<name|id> 四种类型;</name|id>
  • –link=[]: 添加链接到另一个容器;
  • –expose=[]: 开放一个端口或一组端口;
  • –volume , -v: 绑定一个卷

实例:新建ubuntu容器

[root@localhost ~]# docker run -itd --name ubuntu ubuntu:14.04
Unable to find image 'ubuntu:14.04' locally
14.04: Pulling from library/ubuntu
a7344f52cb74: Pull complete 
515c9bb51536: Pull complete 
e1eabe0537eb: Pull complete 
4701f1215c13: Pull complete 
Digest: sha256:2f7c79927b346e436cc14c92bd4e5bd778c3bd7037f35bc639ac1589a7acfa90
Status: Downloaded newer image for ubuntu:14.04
7103a04f97d3688260d1d55ff73ab64ea14954b78ef6be76e1ac4640293ac7dd
[root@localhost ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 14.04 2c5e00d77a67 7 weeks ago 188MB
[root@localhost ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7103a04f97d3 ubuntu:14.04 "/bin/bash" 3 minutes ago Up 3 minutes ubuntu

新建完成

发表在 Docker | 标签为 | 留下评论

centos7:docker使用阿里云镜像加速器的方法

首先注册阿里云账号,这个不用说了

然后,进入控制台,找到容器镜像服务

(阿里控制台太乱了,我反正是找不到,网上搜了半天才找到连接:https://cr.console.aliyun.com/#/accelerator

找到这个镜像加速器,怎么配置上面说得很清楚了,我就直接复制粘贴了:

针对Docker客户端版本大于 1.10.0 的用户

您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://此处隐藏,写你自己的.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
发表在 Docker | 标签为 | 留下评论

Centos7上安装docker

Centos7上安装docker

改编自:https://www.cnblogs.com/yufeng218/p/8370670.html

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。

社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。

社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。
一、安装docker

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

$ uname -r

[root@localhost ~]# uname -r
3.10.0-693.el7.x86_64

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ sudo yum update

(代码不贴了)

3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker docker-common docker-selinux docker-engine

[root@localhost ~]# sudo yum remove docker docker-common docker-selinux docker-engine
已加载插件:fastestmirror, langpacks
参数 docker 没有匹配
参数 docker-common 没有匹配
参数 docker-selinux 没有匹配
参数 docker-engine 没有匹配
不删除任何软件包
[root@localhost ~]# 

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ sudo yum install -y yum-utils device-mapper-persistent-data lvm2

[root@localhost ~]# sudo yum install -y yum-utils device-mapper-persistent-data lvm2
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* extras: mirrors.zju.edu.cn
* updates: centos.ustc.edu.cn
软件包 yum-utils-1.1.31-50.el7.noarch 已安装并且是最新版本
软件包 device-mapper-persistent-data-0.7.3-3.el7.x86_64 已安装并且是最新版本
软件包 7:lvm2-2.02.180-10.el7_6.7.x86_64 已安装并且是最新版本
无须任何处理

5、设置yum源

$ sudo yum-config-manager –add-repo https://download.docker.com/linux/centos/docker-ce.repo

[root@localhost ~]# cat /etc/yum.repos.d/docker-ce.repo 
[docker-ce-stable]
name=Docker CE Stable - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/stable
enabled=1
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-stable-debuginfo]
name=Docker CE Stable - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-stable-source]
name=Docker CE Stable - Sources
baseurl=https://download.docker.com/linux/centos/7/source/stable
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-edge]
name=Docker CE Edge - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-edge-debuginfo]
name=Docker CE Edge - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/edge
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-edge-source]
name=Docker CE Edge - Sources
baseurl=https://download.docker.com/linux/centos/7/source/edge
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-test]
name=Docker CE Test - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-test-debuginfo]
name=Docker CE Test - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-test-source]
name=Docker CE Test - Sources
baseurl=https://download.docker.com/linux/centos/7/source/test
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-nightly]
name=Docker CE Nightly - $basearch
baseurl=https://download.docker.com/linux/centos/7/$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-nightly-debuginfo]
name=Docker CE Nightly - Debuginfo $basearch
baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-nightly-source]
name=Docker CE Nightly - Sources
baseurl=https://download.docker.com/linux/centos/7/source/nightly
enabled=0
gpgcheck=1
gpgkey=https://download.docker.com/linux/centos/gpg

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

$ yum list docker-ce –showduplicates | sort -r

[root@localhost ~]# yum list docker-ce --showduplicates | sort -r
已加载插件:fastestmirror, langpacks
可安装的软件包
* updates: centos.ustc.edu.cn
Loading mirror speeds from cached hostfile
* extras: mirrors.zju.edu.cn
docker-ce.x86_64 3:18.09.7-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.6-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.5-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.4-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.3-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.2-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.1-3.el7 docker-ce-stable
docker-ce.x86_64 3:18.09.0-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.3.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.2.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.1.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.06.0.ce-3.el7 docker-ce-stable
docker-ce.x86_64 18.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 18.03.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.12.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.09.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.06.0.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.3.ce-1.el7 docker-ce-stable
docker-ce.x86_64 17.03.2.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable
docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable
* base: centos.ustc.edu.cn

7、安装docker

$ sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版18.09.7
$ sudo yum install <FQPN> # 例如:sudo yum install docker-ce-17.12.0.ce

[root@localhost ~]# sudo yum install docker-ce
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* extras: mirrors.zju.edu.cn
* updates: centos.ustc.edu.cn
正在解决依赖关系
--> 正在检查事务
---> 软件包 docker-ce.x86_64.3.18.09.7-3.el7 将被 安装
--> 正在处理依赖关系 container-selinux >= 2.9,它被软件包 3:docker-ce-18.09.7-3.el7.x86_64 需要
--> 正在处理依赖关系 containerd.io >= 1.2.2-3,它被软件包 3:docker-ce-18.09.7-3.el7.x86_64 需要
--> 正在处理依赖关系 docker-ce-cli,它被软件包 3:docker-ce-18.09.7-3.el7.x86_64 需要
--> 正在检查事务
---> 软件包 container-selinux.noarch.2.2.99-1.el7_6 将被 安装
---> 软件包 containerd.io.x86_64.0.1.2.6-3.3.el7 将被 安装
---> 软件包 docker-ce-cli.x86_64.1.18.09.7-3.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

====================================================================================================================================
Package 架构 版本 源 大小
====================================================================================================================================
正在安装:
docker-ce x86_64 3:18.09.7-3.el7 docker-ce-stable 19 M
为依赖而安装:
container-selinux noarch 2:2.99-1.el7_6 extras 39 k
containerd.io x86_64 1.2.6-3.3.el7 docker-ce-stable 26 M
docker-ce-cli x86_64 1:18.09.7-3.el7 docker-ce-stable 14 M

事务概要
====================================================================================================================================
安装 1 软件包 (+3 依赖软件包)

总下载量:59 M
安装大小:243 M
Is this ok [y/d/N]: y

8、启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker

[root@localhost ~]# sudo systemctl start docker
[root@localhost ~]# sudo systemctl status docker
● docker.service - Docker Application Container Engine
Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled)
Active: active (running) since 四 2019-07-04 19:00:15 CST; 5s ago
Docs: https://docs.docker.com
Main PID: 39515 (dockerd)
Tasks: 12
Memory: 31.6M
CGroup: /system.slice/docker.service
└─39515 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

7月 04 19:00:14 localhost.localdomain dockerd[39515]: time="2019-07-04T19:00:14.543267103+08:00" level=info msg="pickfirstB...=grpc
7月 04 19:00:14 localhost.localdomain dockerd[39515]: time="2019-07-04T19:00:14.543329196+08:00" level=info msg="pickfirstB...=grpc
7月 04 19:00:14 localhost.localdomain dockerd[39515]: time="2019-07-04T19:00:14.575321922+08:00" level=info msg="Graph migr...onds"
7月 04 19:00:14 localhost.localdomain dockerd[39515]: time="2019-07-04T19:00:14.576607868+08:00" level=info msg="Loading co...art."
7月 04 19:00:14 localhost.localdomain dockerd[39515]: time="2019-07-04T19:00:14.873847435+08:00" level=info msg="Default br...ress"
7月 04 19:00:15 localhost.localdomain dockerd[39515]: time="2019-07-04T19:00:15.100425068+08:00" level=info msg="Loading co...one."
7月 04 19:00:15 localhost.localdomain dockerd[39515]: time="2019-07-04T19:00:15.140608095+08:00" level=info msg="Docker dae....09.7
7月 04 19:00:15 localhost.localdomain dockerd[39515]: time="2019-07-04T19:00:15.140901115+08:00" level=info msg="Daemon has...tion"
7月 04 19:00:15 localhost.localdomain dockerd[39515]: time="2019-07-04T19:00:15.151981654+08:00" level=info msg="API listen...sock"
7月 04 19:00:15 localhost.localdomain systemd[1]: Started Docker Application Container Engine.
Hint: Some lines were ellipsized, use -l to show in full.
[root@localhost ~]# sudo systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@localhost ~]# 

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version

[root@localhost ~]# docker version
Client:
Version: 18.09.7
API version: 1.39
Go version: go1.10.8
Git commit: 2d0083d
Built: Thu Jun 27 17:56:06 2019
OS/Arch: linux/amd64
Experimental: false

Server: Docker Engine - Community
Engine:
Version: 18.09.7
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 2d0083d
Built: Thu Jun 27 17:26:28 2019
OS/Arch: linux/amd64
Experimental: false
发表在 Docker | 标签为 | 留下评论

跳板机脚本

闲来无事,弄了个跳板机脚本

#!/bin/sh
#fencatn
i=1
trapper(){
trap ':' INT EXIT TSTP TERM HUP #把常规的退出都屏蔽掉
}
main(){
while [ $i -le 3 ]
do
trapper
clear
let i++
cat<<menu
1)service1-test-192.168.31.145
2)mysql-test-192.168.31.147
3)没看懂上面写什么吧,给你翻译下:输入1或者输入2
4)最多试3次,再来就输入go命令
menu
echo '翻译:喊你输个数字,1或者2,注意,有彩蛋,你猜猜~'
read -p"Pls input a num.:" num
case $num in
1)
echo 'login in service1~192.168.31.145.'
echo '我们准备跳了,给你3秒思考人生,坐好扶稳~'
sleep 3
ssh [email protected]
;;
2)
echo 'login in mysql~192.168.31.147.'
echo '我们要跳了啊,给你5秒系安全带,坐好扶稳~'
sleep 5
ssh [email protected]
;;
110)
echo "your birthday:"
read -p "不错,猜对了,但是还没完,想想我们什么发工资,几号:" char
if [ "$char" = "10"];then
echo "猜对了,程序即将毁灭,虚拟机即将销毁,倒计时3秒开始"
exit
sleep 3
fi
;;
*)
echo "select error."
echo "输错了,哥子"
sleep 3
esac
done
}
main

写成个脚本,写到.bashrc就行了。我是以普通用户,放在/usr/bin/程序名,然后.bashrc添加这个程序名就行了

[jmp@nginx-test-jmp ~]$ ll /usr/bin/go
-rwxr-xr-x 1 root root 1359 Jul 3 11:29 /usr/bin/go
[jmp@nginx-test-jmp ~]$ tail -1 .bashrc 
go
[jmp@nginx-test-jmp ~]$ tail .bashrc 
# Source global definitions
if [ -f /etc/bashrc ]; then
. /etc/bashrc
fi

# Uncomment the following line if you don't like systemctl's auto-paging feature:
# export SYSTEMD_PAGER=

# User specific aliases and functions
go
[jmp@nginx-test-jmp ~]$

别忘了给脚本+x权限

发表在 LinuxBasic | 标签为 | 留下评论

ECS访问OSS报错:com.aliyun.oss : [Client]Unable to execute HTTP request: ConnectionTimeout

ECS访问OSS报错:com.aliyun.oss : [Client]Unable to execute HTTP request: ConnectionTimeout

2019-07-01 10:13:07.957 WARN 21587 — [nio-8060-exec-7] com.aliyun.oss : [Client]Unable to execute HTTP request: ConnectionTimeout

解决办法:我的是因为安全组没开80和443,打开后就OK了

发表在 云服务器 | 标签为 | 留下评论

nginx设置文件上传大小

   location ~ [^/]\.php(/|$)
                        {
                                        include        fastcgi_params;
                                        fastcgi_pass   127.0.0.1:9000;
                                        fastcgi_index  index.php;
                                        client_max_body_size  500m; 
                        }
发表在 Nginx | 标签为 | 留下评论

Shell中将标准错误标准输出重定向到同一个文件的两种方式

在Shell中,标准错误写法为 2>, 标准输出为 1> 或者 >。如要要将标准输出和标准错误合二为一,都重定向到同一个文件,可以使用下面两种方式:
方式一: > out.txt 2>&1

[root@localhost ~]# { time ls /etc; } > out.txt 2>&1

方式二: &> out.txt

[root@localhost ~]# { time ls /etc; } &> out.txt

发表在 LinuxBasic | 标签为 | 留下评论

阿里云主机建立SWAP分区脚本

我只是搬运工,原文在这里:https://www.cnblogs.com/guke/p/3974692.html

工具在这里,自己点击下载:
add为了防止你们某些人看不到这个连接,所以我写得很长很长很长很长很长swap
随便拷贝到一个目录,用root身份去运行,稍等一下,就好了。

备注:swap不是越大越好,由于磁盘速度相对于内存较为低下,所以大swap反而会造成业务响应更慢,通常为2至2.5倍就好,如果有特殊需求可以更大。
内存为32G以上则不考虑
内存在16G至32G之间,交换分区配置为8G
内存在4G至16G之间,交换分区配置为4G
内存小于4G的则配置交换分区为2G

发表在 LinuxBasic | 标签为 | 留下评论