docker创建容器
1. iptables failed创建 tale 容器时,如下命令:
1234docker run -d --privileged --hostname tale --name tale \-v /etc/localtime:/etc/localtime:ro \-v /home/tale:/var/tale_home -p 127.0.0.1:234:9000 \-m 1024m --memory-swap -1 tale:1.0
然后就报了以下错误:
12docker: Error response from daemon: driver failed programming external connectivity on endpoint tale (263775ff559176224428ec44dcec416a1c20e6c69198d9760b38f35849914260): iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 127.0.0.1 --dport 234 -j ...
介绍FirewallD 提供了支持网络/防火墙区域(zone)定义网络链接以及接口安全等级的动态防火墙管理工具。它支持 IPv4, IPv6 防火墙设置以及以太网桥接,并且拥有运行时配置和永久配置选项。它也支持允许服务或者应用程序直接添加防火墙规则的接口。
安装123$ yum install firewalld## 如果需要图形界面的话,则再安装$ yum install firewall-config
zoneFirewall 能将不同的网络连接归类到不同的信任级别。
1$ firewall-cmd --list-all-zones #查看所有zone信息
Zone 提供了以下几个级别:
drop: 丢弃所有进入的包,而不给出任何响应
block: 拒绝所有外部发起的连接,允许内部发起的连接
public: 允许指定的进入连接
external: 同上,对伪装的进入连接,一般用于路由转发
dmz: 允许受限制的进入连接
work: 允许受信任的计算机被限制的进入连接,类似 workgroup
home: 同上,类似 homegroup
internal: 同 ...
docker save
导出docker save 命令用于持久化 镜像,先获得镜像名称,再执行保存:
1234## 通过此命令查出要持久化的镜像名称$ docker images## 持久化镜像名为 image_name 的镜像,$ docker save image_name -o ~/save.tar
注意: 如果镜像是在远程仓库,执行保存镜像的时候可能会报 Cowardly refusing to save to a terminal. Use the -o flag or redirect. 的错,可以通过 docker save image_name > image_name.tar 将镜像从远程仓库持久化到本地。
导入1234## 导入 save.tar$ docker load < ~/save.tar## 查看镜像$ docker images images
docker export导出docker export 命令用于持久化 容器,先获取容器ID,再执行保存。
1234## 通过此命令查出要持久化的容器ID$ docker ps -a## ...
如果某台linux只有自己在使用,比如个人系统,每次调用 sudo 时都需要输入密码,长期下来着实厌烦,因此本文介绍如何配置 sudo 命令,使其在运行时不需要输入密码。
步骤
执行命令
1$ sudo visudo
添加以下两行, 下面的 sys 表示 sys 组成员不用密码使用sudo
12aaronkilik ALL=(ALL) NOPASSWD: ALL%sys ALL=(ALL) NOPASSWD: ALL
现在在使用 sudo 命令, 将不再需要输入密码。
扩展如果只允许用户使用 kill 和 rm 命令时,不需要输入密码,见如下配置
1%sys ALL=(ALL) NOPASSWD: /bin/kill, /bin/rm
600条最强Linux命令
基本命令uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件(SMBIOS / DMI) hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作系统信息arch 显示机器的处理器架构uname -m 显示机器的处理器架构uname -r 显示正在使用的内核版本dmidecode -q 显示硬件系统部件 - (SMBIOS / DMI)hdparm -i /dev/hda 罗列一个磁盘的架构特性hdparm -tT /dev/sda 在磁盘上执行测试性读取操作cat /proc/cpuinfo 显示CPU info的信息cat /proc/interrupts 显示中断cat /proc/meminfo 校验内存使用cat /proc/s ...
Maven 私服,可以代理远程仓库和部署自己或第三方构件。本文介绍使用最广泛搭建 Maven 私服的工具: Sonatype Nexus。
作者环境 本次搭建私服是在局域网的一台服务器上,操作系统为 CentOS 。 需要部署到私服的项目 soul ssm 项目需要引用 soul
安装Java 确保服务器已经安装了 java 环境,这个过程不是本文重点,安装过程自行百度。
安装Nexus
官网 pro 版本的是需要付费的。所以我们使用免费的 OSS 版本,下载地址 (https://www.sonatype.com/download-oss-sonatype)
12## 上传到服务器并解压$ tar xvf nexus-3.5.1-02-unix.tar.gz
启动Nexus123## 启动服务$ cd /nexus-3.5.1-02/bin/$ ./nexus start
验证打开网址:(http://192.168.0.86:8081/) , ip 为搭建私服的服务器 ip 。用户名/密码: admin/admin123出现一下画面,就说明 ...
介绍
Samba,是种用来让UNIX系列的操作系统与微软Windows操作系统的SMB/CIFS(Server Message Block/Common Internet File System)网络协议做链接的自由软件 –wikipedia
本文就以 CentOS7 搭建 Samba 匿名完全访问(读/写)为目标,实现一个局域网内的文件共享平台。
1.安装Samba服务使用 yum 工具进行安装
1$ yum install samba samba-client
2.检查是否安装成功1$ rpm -qa | grep samba
3.防火墙开放端口在 /etc/sysconfig/iptables 中添加配置
123456-A INPUT -p tcp -m state --state NEW -m tcp --dport 137 -j ACCEPT-A INPUT -p tcp -m state --state NEW -m tcp --dport 138 -j ACCEPT-A INPUT -p tcp -m state --state ...
遇见当我使用vim,想要粘贴下面这段脚本到 xx.sh 文件中
12345678910111213#!/bin/bashif [ $1 ]then if [ $1 == "help" ]; then echo -e "\033[37m pay 参数1 [参数2] \033[0m" else if [ $2 ]; then filename = $2 fi fielse echo -e "\033[37m 缺少关键词,通过'pay help'查看帮助信息 \033[0m"fi
却出现了错乱,如下图所示
分析vim 没有相应的程序来处理这个从其他应用复制粘贴的过程,所以Vim通过插入键盘输入的buffer来模拟这个粘贴的过程,这个时候Vim会以为这是用户输入的。
所以问题是:当上一行结束,光标进入下一行时Vim会自动以上一行的的缩进为初始位置。这样就会破坏原始文件的缩进。
解决问题经过一番google,发现vim提供了 ...
通过attach进入容器
12## 进入容器(Docker自带的命令)$ sudo docker attach [name]
通过这命令进入容器后,执行ctrl+d退出容器后发现容器也停止了。所以可以通过
先按,ctrl+p
再按,ctrl+q
退出
制作进入容器的命令既然attach退出很麻烦,一不小心容器就down掉了
通过 docker exec 进入容器是安全的,但是命令过长
所以我们可以通过下面操作,简化命令
1.创建文件 /usr/bin/ctn,内容如下
1docker exec -it $1 /bin/bash
2.检查环境变量有没有配置目录 /usr/bin
12$PATHbash: /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games: No such file or directory
配置环境变量的方式自行百度
3.完成上面两步即可通过命令 ctn 进入容器
1$ ctn [name]
注意:如果是使用非root账号创建的命令,而docker命令是root权限,可能会存在权限问题可以设置 ch ...
数据卷数据卷是一个可供一个或多个容器使用的特殊目录,它绕过 UFS,可以提供很多有用的特性:
数据卷可以在容器之间共享和重用
对数据卷的修改会立马生效
对数据卷的更新,不会影响镜像
数据卷默认会一直存在,即使容器被删除
注意:数据卷的使用,类似于 Linux 下对目录或文件进行 mount,镜像中的被指定为挂载点的目录中的文件会隐藏掉,能显示看的是挂载的数据卷。
创建一个数据卷在用 docker run 命令的时候,使用 -v 标记来创建一个数据卷并挂载到容器里。在一次 run 中多次使用可以挂载多个数据卷。
下面创建一个名为 web 的容器,并加载一个数据卷到容器的 /webapp 目录。
1$ sudo docker run -d -P --name web -v /webapp training/webapp python app.py
注意:也可以在 Dockerfile 中使用 VOLUME 来添加一个或者多个新的卷到由该镜像创建的任意容器。
删除数据卷数据卷是被设计用来持久化数据的,它的生命周期独立于容器,Docker不会在容器被删除后自动删除数据 ...