分类 Linux 下的文章

docker初了解

Docker是什么

http://www.runoob.com/docker/docker-tutorial.html

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker架构

Docker优缺点

  • 优点

Docker可以解决虚拟机能够解决的问题,同时也能够解决虚拟机由于资源要求过高而无法解决的问题。Docker能处理的事情包括:

  1. 隔离应用依赖

  2. 创建应用镜像并进行复制

  3. 创建容易分发的即启即用的应用

  4. 允许实例简单、快速地扩展

  5. 测试应用并随后销毁它们

Docker背后的想法是创建软件程序可移植的轻量容器,让其可以在任何安装了Docker的机器上运行,而不用关心底层操作系统,就像野心勃勃的造船者们成功创建了集装箱而不需要考虑装在哪种船舶上一样。

  • 缺点

Docker使用

安装

  • Ubuntu(Debain)环境下安装

sudo apt-get update

sudo apt-get install linux-image-extra

sudo sh -c "echo deb http://get.docker.io/ubuntu docker main\
/etc/apt/sources.list.d/docker.list"

sudo apt-get update

sudo apt-get install lxc-docker

或者使用广发的sh脚本

curl -s https://get.docker.io/ubuntu/ | sudo sh

  • Centos 环境

  • windows

Docker可以用虚拟主机技术运行在Windows上像virtualbox,你可以运行linux在虚拟主机里!

使用镜像

常用docker命令

  • pull

拉取镜像:docker pull ubuntu:latest

列出镜像:docker images

删除镜像:docker rmi [OPTIONS] IMAGE [IMAGE...]

例如:docker rmi -f runoob/ubuntu:v4

  • run

启动一个镜像实例:

docker run -d --name=xpmjs-server  \
-e "HOST=uqcoin.com" \
-v /host/data:/data  \
-v /host/apps:/apps  \
-v /host/config:/config  \
-p 8000:80 -p 4430:443  \
tuanduimao/xpmjs-server:1.4.2

linux下用iptables做本机端口转发方法

概述:公司有一些核心MySQL服务器位于核心机房的内网段,作为运维人员,经常需要去连接这些服务器,因无法直接通过外网访问,给管理造成了不便。

思路:虽然解决此问题的方法及思路有很多,但当下想使用IPTABLES的端口重定向功能解决此问题,比较简单易用,而且扩展性也比较好,依次类推,可以运用到其他的端口转发方面的应用。
网络环境:

公网服务器 :eth0:公网IP eth1:内网IP - 192.168.1.1
MYSQL服务器: eth1:内网IP -192.168.1.2

实现方法:通过访问公网IP的63306端口来实现到内网MYSQL服务器的3306端口的访问
在公网服务器上:
配置脚本:

iptables -t nat -A PREROUTING -p tcp --dport 63306 -j DNAT --to-destination 192.168.1.2:3306
iptables -t nat -A POSTROUTING -d 192.168.1.2 -p tcp --dport 3306 -j SNAT --to 192.168.1.1

允许服务器的IP转发功能:

echo 1 > /proc/sys/net/ipv4/ip_forward

使用方法:

mysql -h 公网IP -p 63306 -uroot -p

Centos 操作如下:
1、 首先应该做的是/etc/sysctl.conf配置文件的 net.ipv4.ip_forward = 1 默认是0
这样允许iptalbes FORWARD。
2、 service iptables stop 关闭防火墙
3、 配置规则,见上面。
4、service iptables save 将当前规则保存到 /etc/sysconfig/iptables
若你对这个文件很熟悉直接修改这里的内容也等于命令行方式输入规则。
5、 启动iptables 服务, service iptables start

====================================linux================================================
1 vi /etc/sysctl.conf
2 将net.ipv4.ip_forward=0更改为net.ipv4.ip_forward=1
3 sysctl -p(这条命令是使数据转发功能生效)
4 例如:你要将外网访问本地IP(192.168.75.5)的80端口转换为访问192.168.75.3的8000端口,你可以用如下命令:
(1)iptables -t nat -A PREROUTING -d 10.150.133.13 -p tcp --dport 8083 -j DNAT --to-destination 10.150.132.26:80
(2)iptables -t nat -A POSTROUTING -d 10.150.132.26 -p tcp --dport 80 -j SNAT --to-source 10.150.133.13
5 可以使用命令:iptables -t nat --list检查nat列表信息:

#service iptables save  

重启iptables使刚才添加的规则生效

#service iptables restart 
# iptables -t nat -L --line-number //列出规则的编号  
# iptables -t nat -D PREROUTING 1 //删除PREROUTING中的第2条规则 
# iptables -t nat -D POSTROUTING 1 //删除PREROUTING中的第2条规则 

Linux下配置java开发环境

1、下载

JDK 8下载命令:

$ wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u66-b17/jdk-8u66-linux-x64.tar.gz

另外其他版本下载页面:
http://www.oracle.com/technetwork/java/javase/downloads/java-archive-downloads-javase7-521261.html#jdk-7u80-oth-JPR

2、解压

mkdir /opt/jdk/
tar x -C /opt/jdk -f jdk-8u66-linux-x64.tar.gz

3、安装jdk

update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_66/bin/java 100
update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_66/bin/javac 100

4、系统存在多个jdk时候设置默认的jdk版本

update-alternatives --config java
update-alternatives --config javac

5、更新jdk版本使用以下命令:

# 6.2.1 Remove the existing alternatives - jdk1.8.0_66
$ sudo update-alternatives --remove java /opt/jdk/jdk1.8.0_66/bin/java
$ sudo update-alternatives --remove javac /opt/jdk/jdk1.8.0_66/bin/javac

# 6.2.2 Install new JDK alternatives - jdk1.8.0_99
$ sudo update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_99/bin/java 100
$ sudo update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_99/bin/javac 100

# 6.2.3 Update default JDK again, select /opt/jdk/jdk1.8.0_99
$ update-alternatives --config java
$ update-alternatives --config javac

# 6.2.4 Remove the old JDK folders
$ sudo rm -rf /opt/jdk/jdk1.8.0_66/

参考:https://www.mkyong.com/java/how-to-install-oracle-jdk-8-on-debian/