一. 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},安裝完畢。