一. centos7设置固定IPhtml
java
[root@localhost ~]# nmcli dev status
显示状况 :node
DEVICE TYPE STATE CONNECTION
ens33 ethernet 链接的 ens33
lo loopback 未托管 --
修改网络相关配置文件:mysql
注意: 下面命令中ifcfg-ens33为本身当前使用的网络名称和上面显示的ens33对应linux
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
修改内容以下:nginx
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static //若是是dhcp改成static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=b8fd5718-51f5-48f8-979b-b9f1f7a5ebf2
DEVICE=ens33
ONBOOT=yes //若是是no, 改成yes
IPADDR=192.168.200.128 //ip地址
GATEWAY=192.168.200.2 //网关, 个人是2, 改为本身的
NETMASK=255.255.255.0 //子网掩码
NM_CONTROLLED=no
DNS1=8.8.8.8 //dns1
DNS2=8.8.4.4 //dns2
重启网络设置, 让配置生效:git
[root@localhost ~]# systemctl restart network.service
使用命令查看更改状况:github
[root@localhost ~]# ip addr
链接linux虚拟机等待时间长解决方案:redis
在使用SecureCRT链接Linux时,出现窗口显示已链接,但命令行迟迟不出现的状况。这个问题确定让人十分恼火,尤为在时间紧迫的时候更是让人忍无可忍.sql
问题缘由:其实问题就出在DNS解析IP上
解决方法以下:
(1) 进入配置文件
vim /etc/ssh/sshd_config
(2) 进入文件vim /etc/ssh/sshd_config中,添加 UseDNS no,以后保存退出。
#Port 22
#AddressFamily any
#ListenAddress 0.0.0.0
#ListenAddress ::
UseDNS no
HostKey /etc/ssh/ssh_host_rsa_key
#HostKey /etc/ssh/ssh_host_dsa_key
HostKey /etc/ssh/ssh_host_ecdsa_key
HostKey /etc/ssh/ssh_host_ed25519_key
(3) 使用命令重启ssh服务便可
[root@localhost ~]# service sshd restart #centos6使用的命令
[root@localhost ~]# systemctl restart sshd.service #centos7使用的命令
systemctl命令是系统服务管理器指令
[root@localhost ~]# systemctl start docker
[root@localhost ~]# systemctl stop docker
[root@localhost ~]# systemctl restart docker
[root@localhost ~]# systemctl status docker
[root@localhost ~]# systemctl enable docker
docker images
REPOSITORY:镜像名称
TAG:镜像标签
IMAGE ID:镜像ID
CREATED:镜像的建立日期(不是获取该镜像的日期)
SIZE:镜像大小
这些镜像都是存储在Docker宿主机的/var/lib/docker目录下
若是你须要从网络中查找须要的镜像,能够经过如下命令搜索
docker search 镜像名称
NAME:仓库名称
DESCRIPTION:镜像描述
STARS:用户评价,反应一个镜像的受欢迎程度
OFFICIAL:是否官方
AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程建立的
拉取镜像就是从中央仓库中下载镜像到本地
docker pull 镜像名称
例如,我要下载centos7镜像
docker pull centos:7
按镜像ID删除镜像
docker rmi 镜像ID
删除全部镜像
docker rmi `docker images -q`
##
查看正在运行的容器
docker ps
查看全部容器
docker ps –a
建立容器经常使用的参数说明:
建立容器命令:docker run
-i:表示运行容器
-t:表示容器启动后会进入其命令行。加入这两个参数后,容器建立就能登陆进去。即分配一个伪终端。
--name :为建立的容器命名。
-v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可使用多个-v作多个目录或文件映射。注意:最好作目录映射,在宿主机上作修改,而后共享到容器上。
-d:在run后面加上-d参数,则会建立一个守护式容器在后台运行(这样建立容器后不会自动登陆容器,若是只加-i -t两个参数,建立后就会自动进去容器)。
-p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可使用多个-p作多个端口映射
docker run -it --name=容器名称 镜像名称:标签 /bin/bash
这时咱们经过ps命令查看,发现能够看到启动的容器,状态为启动状态
exit
docker run -di --name=容器名称 镜像名称:标签
docker exec -it 容器名称 (或者容器ID) /bin/bash
中止容器:
docker stop 容器名称(或者容器ID)
启动容器:
docker start 容器名称(或者容器ID)
若是咱们须要将文件拷贝到容器内可使用cp命令
docker cp 须要拷贝的文件或目录 容器名称:容器目录
也能够将文件从容器内拷贝出来
docker cp 容器名称:容器目录 须要拷贝的文件或目录
咱们能够在建立容器的时候,将宿主机的目录与容器内的目录进行映射,这样咱们就能够经过修改宿主机某个目录的文件从而去影响容器。 建立容器 添加-v参数 后边为 宿主机目录:容器目录,例如:
docker run -di -v /usr/local/myhtml:/usr/local/myhtml --name=mycentos3 centos:7
若是你共享的是多级的目录,可能会出现权限不足的提示。
这是由于CentOS7中的安全模块selinux把权限禁掉了,咱们须要添加参数 --privileged=true 来解决挂载的目录没有权限的问题
咱们能够经过如下命令查看容器运行的各类数据
docker inspect 容器名称(容器ID)
也能够直接执行下面的命令直接输出IP地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称(容器ID)
删除指定的容器:
docker rm 容器名称(容器ID)
首先在容器中执行以下命令更新源:
apt-get update
而后执行安装各类命令的操做:
apt-get install 命令名称
(1)拉取mysql镜像
docker pull mysql:5.6
(2)建立容器
docker run -di --name=changgou_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=admin mysql:5.6
-p 表明端口映射,格式为 宿主机映射端口:容器运行端口
-e 表明添加环境变量 MYSQL_ROOT_PASSWORD 是root用户的登录密码
(3)设置容器开机自动启动
docker update --restart=always 容器ID
(4)远程登陆mysql
链接宿主机的IP ,指定端口为3306
(1)拉取镜像
docker pull redis
(2)建立容器
docker run -di --name=changgou_redis -p 6379:6379 redis
(3)设置容器开机自动启动
docker update --restart=always 容器ID
(1)拉取镜像
docker pull morunchang/fastdfs
(2)运行tracker
docker run -d --name tracker --net=host morunchang/fastdfs sh tracker.sh
(3)运行storage
docker run -d --name storage --net=host -e TRACKER_IP=<your tracker server address>:22122 -e GROUP_NAME=<group name> morunchang/fastdfs sh storage.sh
使用的网络模式是–net=host, <your tracker server address> 位置替换为你机器的Ip便可
个人是192.168.200.128
<group name> 是组名,即storage的组, 例如 : 我设置的是group1
若是想要增长新的storage服务器,再次运行该命令,注意更换 新组名
(4)修改nginx的配置
进入storage的容器内部
docker exec -it storage /bin/bash
进入后修改nginx.conf文件
vi /data/nginx/conf/nginx.conf
在文件的location / 节点结束后, 添加如下内容
location /group1/M00 {
proxy_next_upstream http_502 http_504 error timeout invalid_header;
proxy_cache http-cache;
proxy_cache_valid 200 304 12h;
proxy_cache_key $uri$is_args$args;
proxy_pass http://fdfs_group1;
expires 30d;
}
(5)退出容器
exit
(6)重启storage容器
docker restart storage
(7) 设置容器开机自动启动
docker update --restart=always 容器ID
下载镜像
docker pull rabbitmq:management
建立容器
docker run -di --name=changgou_rabbitmq -p 5671:5617 -p 5672:5672 -p4369:4369 -p 15671:15671 -p 15672:15672 -p 25672:25672 rabbitmq:management
解释以下:
15672 (if management plugin is enabled.管理界面 )
15671 management监听端口
5672, 5671 (AMQP 0-9-1 without and with TLS 消息队列协议是一个消息协议)
4369 (epmd) epmd 表明 Erlang 端口映射守护进程
25672 (Erlang distribution)
访问后台
浏览器中输入地址
http://192.168.200.128:15672/
设置容器开机自动启动
docker update --restart=always 容器ID
建立elasticsearch和kibana容器
(1) 此elasticsearch和kibana为6.5.4版本
docker run --name=changgou_es -d -p 9200:9200 -p 5601:5601 nshou/elasticsearch-kibana
容器建立完成后能够访问http://192.168.200.128:9200和http://192.168.200.128:5601查看es安装是否成功.
(2) 建立elasticsearch-head插件工具容器
docker run -d --name=changgou_es_head -p 9100:9100 mobz/elasticsearch-head:5
(3) 设置容器开机自动启动
docker update --restart=always 容器ID
下载elasticsearch-head
docker pull mobz/elasticsearch-head:5
下载elasticsearch版本为5.6.16
docker pull elasticsearch:5.6.16
下载kibana版本号为5.6.16
docker pull kibana:5.6.16
建立一个叫作somenetwork自定义网络
docker network create somenetwork
建立elasticsearch容器(开发模式)
docker run -d --name changgou_es --net somenetwork -p 9200:9200 -p 9300:9300 -e ES_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" elasticsearch:5.6.16
查看docker 下的网络 包括自带的及自定义
docker network ls
somenetwork 是自定义网络 查看此自定义网络下 elasticsearch 的ip
docker inspect somenetwork
显示以下: 会看到IP地址为172.18.0.2/16
[
{
"Name": "somenetwork",
"Id": "3ac29fe43eae9287dcfaed2096948a29c3486b871feda29c71487cd300ef44ba",
"Created": "2019-05-31T13:09:58.07434932+08:00",
"Scope": "local",
"Driver": "bridge",
"EnableIPv6": false,
"IPAM": {
"Driver": "default",
"Options": {},
"Config": [
{
"Subnet": "172.18.0.0/16",
"Gateway": "172.18.0.1"
}
]
},
"Internal": false,
"Attachable": false,
"Ingress": false,
"ConfigFrom": {
"Network": ""
},
"ConfigOnly": false,
"Containers": {
"3fb4988562c80a06cc9db2940383d2596289232855c105278ab5d4b76d466ff8": {
"Name": "changgou_es",
"EndpointID": "c417394e4b2db8180469f3dfd2853598ff593d458f402642998873a0988b4af8",
"MacAddress": "02:42:ac:12:00:02",
"IPv4Address": "172.18.0.2/16",
"IPv6Address": ""
}
},
"Options": {},
"Labels": {}
}
]
注意:在此示例中,Kibana使用默认配置,并指望在http://localhost:9200链接到正在运行的Elasticsearch实例
下面的ip是经过上面查看到的elasticsearch的ip 为了让kibana 链接上es
docker run -d --name kibana --net somenetwork -e ELASTICSEARCH_URL=http://172.18.0.2:9200 -p 5601:5601 kibana:5.6.16
浏览器能够经过http://192.168.200.128:5601访问
进入elasticsearch容器中
docker exec -it changgou_es /bin/bash
下载ik分词器
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v5.6.16/elasticsearch-analysis-ik-5.6.16.zip
进入elasticsearch的插件目录
cd /usr/share/elasticsearch/plugins/
建立一个叫作ik的目录
mkdir ik
回到ik分词器下载的所在目录解压
unzip elasticsearch-analysis-ik-5.6.16.zip -d ./
拷贝解压后里面的内容到刚才建立的ik目录中
cp elasticsearch/* plugins/ik/
进入到ik所在目录
cd /usr/share/elasticsearch/plugins/ik/
退出容器
exit
重启elasticsearch容器
docker restart changgou_es
进入容器中, changgou_es为容器名称
docker exec -it changgou_es /bin/bash
更新apt
apt-get update
安装vi命令
apt-get install vim
JDK版本 jdk-8u181-linux-x64.tar.gz
在root权限下, 到/usr目录中新建java文件夹
[root@localhost usr]# mkdir java
将 jdk-8u181-linux-x64.tar.gz压缩包拷贝到新建的java文件夹中
[root@localhost java]# cp /root/jdk-8u181-linux-x64.tar.gz /usr/java
进入到/usr/java文件夹中
[root@localhost java]# cd /usr/java
解压 jdk-8u181-linux-x64.tar.gz压缩包
[root@localhost java]# tar -zxvf jdk-8u181-linux-x64.tar.gz -C ./
编辑Linux系统中环境变量所在文件
[root@localhost java]# vi /etc/profile
在文件最后加入环境变量设置, 加入后保存文件
export JAVA_HOME=/usr/java/jdk1.8.0_181 #这是本身的jdk所在位置
export CLASSPATH=.:$JAVA_HOME/jre/lib/dt.jar:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/jre/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
让环境变量生效
[root@localhost java]# source /etc/profile
测试JDK是否已经配置好
#执行命令
[root@localhost java]# java -version
#显示以下
java version "1.8.0_181"
Java(TM) SE Runtime Environment (build 1.8.0_181-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.181-b13, mixed mode)
#执行命令
[root@localhost java]# javac -version
#显示以下
javac 1.8.0_181
Gogs 是一款极易搭建的自助 Git 服务。
Gogs 的目标是打造一个最简单、最快速和最轻松的方式搭建自助 Git 服务。使用 Go 语 言开发使得 Gogs 可以经过独立的二进制分发,而且支持 Go 语言支持的 全部平台,包 括 Linux、Mac OS X、Windows 以及 ARM 平台。
地址:https://gitee.com/Unknown/gogs
(1)下载镜像
docker pull gogs/gogs
(2)建立容器
docker run -di --name=mygogs -p 10022:22 -p 3000:3000 -v /var/gogsdata:/data gogs/gogs
假设个人centos虚拟机IP为192.168.47.133 完成如下步骤 (1)在地址栏输入http://192.168.47.133:3000 会进入首次运行安装程序页面,咱们 能够选择一种数据库做为gogs数据的存储,最简单的是选择SQLite3。若是对于规模较大 的公司,能够选择MySQL
1.pull一个jenkins镜像
docker pull jenkins/jenkins:lts
2.查看已经安装的jenkins镜像
docker images
3.建立一个jenkins目录
mkdir /home/jenkins_home
4.启动一个jenkins容器
docker run -d --name dami_jenkins -p 8081:8080 -v /home/jenkins_01:/home/jenkins_01 jenkins/jenkins:lts
5.查看jenkins服务
docker ps | grep jenkins
6.启动服务端 。
localhost:8081;
7.进入容器内部
docker exec -it jenkins_01 bash
8.执行:
cat /var/jenkins_home/secrets/initialAdminPassword
本次133机器 e6aa861a28be4f87a2279cb3c7b7475b
获得密码并粘贴过去
9.输入密码以后,重启docker镜像
docker restart {CONTAINER ID},安装完毕。