1,linux-服務器硬件認識-基礎知識-linux安裝初始化配置

1,linux-服務器硬件認識-基礎知識-linux安裝初始化配置

 

 

Ps:xshell同時向幾個會話發送命令html

  xshell:
    查看-撰寫-撰寫欄node

 

 

:q!     強制退出
:wq!    強制寫入退出
:set nu 顯示行號
:數字  調到數字那行
/xxx 在文件裏面搜索xxx 隨時按下esc能夠退出底線命令模式

H    移動光標到屏幕首行
M    移動到光標到屏幕的中間一行
L    移動光標到屏幕的尾行
gg    移動光標到文檔的首行
G    移動光標到文檔尾行

yy 拷貝光標所在行
dd 刪除光標所在行
D 刪除當前光標到行尾的內容
dG 刪除當前行到文檔尾部的內容
p 粘貼yy所複製的內容
x   刪除光標所在的字符
u 撤銷上一步的操做



:! command 暫時離開vim指令模式,執行command的結果
例如 :!ip a 臨時看一下ip信息,而後能夠回到vimpython

 
 

:set nu    顯示vim行號
:set nonu    取消行號
mysql

 

 

 

1.服務器有哪些硬件?
答:中央處理器(CPU)、內存、芯片組、I/O總線、I/O設備、電源、機箱,主板,硬盤,等等.

2.內存,CPU,硬盤的做用?
答:
內存:用於暫時存放CPU中的運算數據,以及與硬盤等外部存儲器交換的數據;
CPU:解釋計算機指令以及處理計算機軟件中的數據;
硬盤:電腦主要的存儲媒介,用來存放平常工做的一些數據,文件等等.

3.服務器常見品牌?
答:戴爾,惠普,聯想,IBM,浪潮,

4.操做系統的做用?
答:是管理和控制計算機硬件與軟件資源的計算機程序,是直接運行在「裸機」上的最基本的系統軟件,任何其餘軟件都必須在操做系統的支持下才能運行。

5.開源軟件的特性,以及開源許可的協議
答:
特性:低風險,高品質,低成本,透明度高,
協議:複製自由,傳播自由,收費傳播,修改自由.

6.linux優勢
答:免費,無毒,開源,性能穩定,高效+靈活,

7.說出常見的linux發行版
答:Redhat,Debian,Ubuntu,Gentoo,centos,fedora,suse

8.用虛擬機學linux的好處是?
答:
虛擬機來模擬環境是最接近工做環境的;
虛擬機能夠輕鬆知足多機器的需求;
虛擬機搭建Linux環境,而且用做我的開發學習使用,節省開支;
虛擬機修改配置容易,不會影響真機;

9.請寫出文件夾的增刪改查命令
答:
增:mkdir 文件夾名稱
刪:rmdir 文件夾名稱
改:mvdir 原文件夾名稱 現文件夾名稱
查:ls

10.請寫出查看ip地址的命令
答:ip addr或者ifconfig

11.請寫出關閉防火牆的命令
答:systemctl disable firewalld
小問答

 

 https://www.cnblogs.com/pyyu/articles/9314206.htmllinux

 https://www.cnblogs.com/pyyu/p/9277153.htmlnginx

https://www.cnblogs.com/pyyu/articles/9313587.htmlweb

https://www.cnblogs.com/pyyu/articles/9336967.htmlredis

 

操做系統是什麼
是人與計算機硬件溝通的介質

2.操做系統組成---雞蛋由幾部分組成
1)蛋黃-系統內核
2)蛋清-命令解釋器shell
3)蛋殼-應用程序

3.Linux是一套開放源代碼程序、且能夠自由傳播的操做系統

4.掌握centos/redhat能更好的適應互聯網服務端開發環境

5.使用linux的好處是自由傳播,免費,不會犯法,任意切換圖形/命令終端,安全穩定,不用殺毒軟件,不卡

 

 

 

 

由上圖看出操做系統跑於硬件之上,應用程序運行在操做系統之上,因爲Linux只是一套操做系統並不含有其餘應用程序,所以工程師須要在下載Linux系統而且安裝以後,就可使用了。sql

  Shell(也叫作終端或殼)充當的是人與內核(硬件)之間的翻譯官,用戶吧一些命令「傳遞」給終端,它就會調用相應的程序服務去完成工做。紅帽Linux默認使用的終端是Bash解釋器。mongodb

 

 

開源軟件的特色;

低風險  使用閉源軟件無疑把命運交付給他人,一旦封閉的源代碼沒有人來維護,你 將進退維谷;並且相較於商業軟件公司,開源社區不多存在倒閉的問題。

高品質  相較於閉源軟件產品,開源項目一般是由開源社區來研發及維護的,參與編 寫、維護、測試的用戶量衆多,通常的 bug 尚未等爆發就已經被修補。

低成本  開源工做者都是在幕後默默且無償地付出勞動成果,爲美好的世界貢獻一份 力量,所以使用開源社區推進的軟件項目能夠節省大量的人力、物力和財力。

更透明  沒有哪一個笨蛋會把木馬、後門等放到開放的源代碼中,這樣無疑是把本身的罪行暴露在陽光之下。 

 

 

GNU:

GNU GPL (GNU General Public License GNU):
只要軟件中包含了遵循 GPL 協議的產品或代碼,該軟件就必須也遵循 GPL 許可協議且開源、免費, 所以這個協議並不適合商用軟件。

遵循了此協議的就包括Linux和大多數開源軟件

GNU的特色是:

複製自由

傳播自由

收費傳播  開源軟件都是經過對用戶提供有償服務形式來盈利

修改自由  開發人員容許增長和刪除軟件的功能,可是還必須遵循GPL許可協議

 

 

 

發行版本;

 

 

 

在介紹常見的 Linux 系統版本以前,首先須要區分 Linux 系統內核與 Linux 發行版的不一樣。

Linux 系統內核指的是一個由 Linus Torvalds 負責維護,提供硬件抽象層、硬盤及文件 系統控制及多任務功能的系統核心程序。

Linux 發行版系統是咱們常說的 Linux 操做系統,也便是由 Linux 內核與各類經常使用 軟件的集合產品。

全球大約有數百款的 Linux 系統版本,每一個系統版本都有本身的特性和目標人羣,下面 將能夠從用戶的角度選出最熱門的幾款進行介紹。

 

 

安裝的選擇性:

pc能夠選擇
    -純系統 Linux/windows
    -雙系統    Windows+Linux
    -虛擬化技術    Windows+vmware workstation
服務器
    -物理機純系統
    -物理機+vmware(vmware esxi)
    -物理機+docker
安裝
    -簡易安裝
    -自定義安裝
    -快照

 

下載centosISO鏡像:

要安裝centos系統,就必須得有centos系統軟件安裝程序,能夠經過瀏覽器訪問centos官網http://www.centos.org,而後找到Downloads  - >  mirrors連接,點擊後進入下載,可是因爲這是國外的網址,下載速度確定受限。

所以可使用國內的鏡像源

https://opsx.alibaba.com/mirror#阿里雲官方鏡像站
iso下載地址(此DVD映像包含可使用該軟件安裝的全部軟件包安裝程序。這是大多數用戶的推薦圖像。):https://mirrors.aliyun.com/centos/7/isos/x86_64/CentOS-7-x86_64-DVD-1804.iso

 

32位與64位區別之一,

32位系統--->4GB內存只能用3.5Gb
64位系統 支持更大內存

 

遠程連接linux

Xshell
SecureCRT

 

 

Linux查看ip方式:

方式1:ip addr
方式2: ifconfig

 

NAT模式

電腦宿主機的ip在局域網內是惟一的,選擇了NAT模式建立虛擬機,虛擬機就是一個新的局域網

 

橋接模式

用此模式,就是局域網中一臺獨立的主機,它能夠訪問該類網段任意一臺機器,佔用IP,

 

 

僅主機模式

單機模式

 

軟件壓縮包以及解壓包放在/root目錄下,

安裝在/opt目錄下,

 

 

筆記

賬號密碼:root  dlh123

今日內容:
筆記本的組成:
顯示屏
鍵盤
usb
觸摸板
電源
hdmi 視頻輸出口 
vga
網口
typec
耳機孔
散熱口
音箱
攝像頭

臺式機組成:
cpu
內存條
網卡
顯卡
主板
硬盤
電源
風扇
主板鈕釦電池
一堆插口
光驅

服務器:
性能很是強悍的計算機

運維職責:
保證公司網站7*24小時的運行
背鍋俠

linux兩大主流:

redhat 紅帽子linux 企業版收費的操做系統 rhcsa < rhce < rhca 三個級別

centos 紅帽子系統的衍生社區版 


linux學習安裝方式:
1: 服務器+linux 
2. 服務器 + windows+linux 
3.  服務器+ vmware軟件+linux  ***** 
    我的學習版:vmware workstation
    企業版:vmware esxi  服務器版本 能夠虛擬化出多個linux操做系統

ctel + alt 切換linux和windows的鼠標

若是出現虛擬機linux沒法啓動報錯的狀況,有關VT的信息:
解決方法:進入筆記本的主板BIOS界面,找到配置頁面,找到intel VT參數,而後選擇enable,開啓虛擬化功能


登陸服務器的方式:
    1. 進入機房,找到服務器,登陸linux
    2. 遠程登陸服務器 經過遠程登陸軟件xshell,登陸linux

裝好機器後,初始化的步驟:
1.關閉防火牆,保證服務正確使用,正確安裝,以避免麻煩
    iptables -L #查看防火牆的規則
    iptables -F #清空防火牆規則
    systemctl stop firewalld # 關閉防火牆服務/軟件  臨時關閉,開機自啓動
    systemctl disable firewalld #永久關閉防火牆,關閉開機自啓

2.關閉系統自帶selinux  (自帶的防火牆)
    getenforce #查看selinux狀態  enforcing
    setenforce 0 #臨時關閉selinux,不須要重啓即生效
    #永久關閉selinux ,這裏須要操做配置文件,須要重啓永久生效
    sed -i 's/enforcing/disabled/' /etc/selinux/config


3.配置網絡,用於遠程鏈接
    局域網ip,通常形式是:
    0~255
    192.168.19.xx 
    10.0.0.xx
    172.0.0.xx 

linux:查看ip的方式,輸入命令,如下兩個命令均可以管理ip
    ip addr

    ifconfig
    
第一次鏈接linux:
    輸入命令
    ssh root@ip  #遠程登陸服務器,帳戶是root

開始配置linux的網絡(NAT)
    1.若是選擇橋接模式,而且使用dhcp(動態獲取ip服務)
    會在每次開機的時候,動態獲取一個ip(ip所以是不固定的),所以能夠直接用靜態ip(寫死在配置文件的ip)嗎?
    會出現ip衝突的問題..
    192.168.19.213
    192.168.19.213
    怎麼解決呢?
    2.選擇使用nat模式,配置專屬本身的ip,固定的ip 
    配置以下
    1.配置vmware workstation軟件
    博客地址:https://www.cnblogs.com/pyyu/p/9739956.html
    找到 編輯 > 虛擬網絡編輯器 而後跟着博客上的圖片所示,配置nat網絡

2.修改配置文件
    打開配置文件
    vi /etc/sysconfig/network-scripts/ifcfg-ens33
    主要修改以下行
    BOOTPROTO=static
    ONBOOT=yes
    IPADDR=10.0.0.10
    NETMASK=255.255.255.0
    GATEWAY=10.0.0.254
    DNS1=119.29.29.29

3.修改了配置文件,重啓網絡服務
    /etc/init.d/network restart

4.ping baidu.com  #檢測網絡是否通訊

5.遠程鏈接服務器
    1.經過xshell鏈接,其實也是封裝了 ssh root@10.0.0.10 命令
    2. 執行命令 ssh root@10.0.0.10

    
linux命令練習:
    ls   查看目錄文件
    ls -la  查看全部目錄,以及隱藏文件
文件夾操做
    mkdir s13      建立s13文件夾
    cd    s13        進入s13文件夾
    mv  s13   s13_hehe    修改s13文件名爲s13_hehe
    
    mkdir test        建立test空文件夾
    rmdir  test     刪除test空文件夾
執行第一個python命令
    touch first.py   建立python腳本文件
    
    vi first.py      打開first.py腳本
        按下字母i  進入編輯模式,寫入以下代碼
        print('Hello,linux')
        按下字母esc,退出編輯模式,輸入 :wq 命令,保存退出vi模式
        
    linux內置python解釋器
    python first.py  執行python腳本
筆記

 

/

https://www.cnblogs.com/pyyu/p/9485268.html

docker三大概念
容器三大基本概念


鏡像 image

class 



容器 container

class()




倉庫 repository  (存放鏡像文件的地方)  我能夠去公網去,下載鏡像



docker整個生命週期就是這三個概念。




#centos安裝docker

1.編譯安裝,源碼安裝

2.yum安裝
    #若是網速太慢,你能夠選擇阿里雲的源,缺點就是版本低
    #你能夠選擇用aliyun的yum源,docker就存在epel源中
    #若是網速夠快,或者在公司中,必定要裝官方源
    #配置docker的官方源,必定是官方的最好啊
    
    
    #因爲配置不了官方的docker倉庫,我們選擇阿里雲
    1.yum install docker* docker-*  -y  #安裝docker服務端
    2.啓動docker
    systemctl start docker 
    
    systemctl status  docker 
    
    3.查看docker是否正確啓動
    docker version 
    
    
    
    4.簡單使用docker
    docker search hello-world
    docker pull hello-world  
    docker image ls   #查看鏡像
    #等於
    docker images  #查看鏡像
    docker run 鏡像名/鏡像id(能夠寫前三位)   #運行一個docker容器實例
    docker ps  #查看docker進程
    docker ps -a  #查看全部運行過的docker容器記錄

3.rpm安裝



docker三大概念:
容器(如同經過class類的實例化對象),也就是能夠經過一個鏡像,建立多個容器實例




鏡像(如同class類)



倉庫


docker經常使用命令:


增
增長容器記錄,啓動容器

docker run 鏡像id/鏡像名  #運行建立一個容器container實例

docker run -it  centos   #此命令會 進入到容器空間內,進入到容器的centos中
-i 交互式界面
-t 是開啓一個終端

docker run -it  --rm  ubuntu   #運行一個烏班圖容器,而且在退出是,刪除容器運行記錄



docker run centos   
#直接運行這個centos鏡像,會生成一個容器記錄
#此時就會生成一個容器記錄,可是容器中並無任何的後臺程序,所以直接就掛掉
# 你會發現,容器死活不生成,docker ps 看不到記錄,

docker run -d centos /bin/sh -c "while true;do echo hello s14 docker~~~~; sleep 1;done"
#必定會生成一個容器記錄
#docker ps  能不能看到記錄?

-d 參數是  後臺運行
/bin/sh  調用shell解釋器
-c 指明一段shell語法





docker pull centos  #下載docker的鏡像




刪

docker rm 容器id  #docker rm刪除的是已經中止的容器id

docker rmi  鏡像id   #刪除一個鏡像記錄 

docker rm `docker ps -aq` # 一次性刪除全部容器id記錄
    ` `   #反引號是取命令的運行結果 

docker rmi `docker images -aq`   #一次性刪除全部鏡像記錄




改

docker commit  #提供容器記錄,爲新的鏡像
docker stop  容器id  #中止正在運行的容器
docker start 容器id  #啓動一個關閉中的容器

#導出鏡像
docker save centos > /opt/centos.tar.gz  #導出docker鏡像至本地

#導入鏡像
docker load < /opt/centos.tar.gz
#經過--name參數給容器記錄,加上別名
docker run --name s14hehe -d centos /bin/sh -c "while true;do echo hello s14 docker~~~~; sleep 1;done"

#進入正在運行的容器
docker exec -it c49  /bin/bash


-it  交互式的操做終端
/bin/bash使用shell解釋器,只有在redhat,centos系統中,才能用/bin/bash 


#提交自定義的鏡像文件(本身修改了容器記錄,提交成一個新的鏡像,能夠發給別人使用)
#需求是?
1.默認的centos鏡像,沒有vim 
2.咱們本身run一個容器記錄,安裝vim,而後提交成新的鏡像文件
docker commit 24c1ef3f8da8 s14/centos-vim

3.查看新的鏡像記錄
docker images  
s14/centos-vim          latest              01b0298ec5b0        7 seconds ago       327 MB


4.能夠經過新的帶有vim的鏡像運行容器記錄,經過此方法能夠解決環境難配置的問題
docker run -it s14/centos-vim    /bin/bash 


查

docker image  ls  #查看鏡像記錄
docker images  #查看鏡像記錄 

docker ps    #查看容器記錄  ,只能查看到正在運行中的容器
             #正在運行中的容器,表明,容器後臺必定有個進程在運行
             
docker ps -a #查看中止的和在運行的容器記錄

docker container ls -a  #等同於docker ps -a 



docker logs -f 容器id  #查看正在運行中的 容器內日誌
-f  不間斷打印 




#其餘
#容器內應用,外部也是能夠訪問的
#經過-P參數進行端口映射

#運行一個web容器實例
1.下載鏡像
docker pull training/webapp  
2.運行鏡像,產生容器記錄
docker run -d -P 6fa  python app.py
-d 後臺運行
-P  將容器內的5000端口隨機映射到宿主機的一個端口



docker port 容器id 
[root@node1 /opt/redis-4.0.10/src 16:00:41]#docker port ebb7
5000/tcp -> 0.0.0.0:32768












#docker鏡像加速器
#執行命令
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
#其實就是更改了,docker的一個倉庫源
[root@node1 /opt/redis-4.0.10/src 14:48:26]#cat /etc/docker/daemon.json
{
    "registry-mirrors": [
        "http://95822026.m.daocloud.io"
    ],
    "insecure-registries": []
}
1

/

1.docker介紹
docker是linux容器方案
docker能夠很大的解決環境依賴問題

virtualenv是什麼?
python解釋器的虛擬環境,和操做系統無關
在機器上能夠配置多個python解釋器

docker環境依賴解決問題:
1.在物理操做系統上的一個環境隔離(虛擬環境)

docker使用命令回顧:
鏡像
docker image ls
docker images
docker pull 鏡像名      #docker倉庫,dockerhub
docker push 鏡像名    #把本地的鏡像推送到 dockerhub倉庫
docker search 鏡像名
docker rmi  刪除鏡像
docker version #查看docker版本,查看到server 和client兩個端
systemctl start docker   #啓動docker
docker save  鏡像名  >  /data/centos.tar.gz  #導出鏡像
docker load  <  /data/centos.tar.gz  #導入鏡像    
docker run  鏡像名  #運行鏡像文件,產生一個容器實例


容器
docker start 容器id 
docker stop 容器id
docker exec -it   容器id #進入正在運行的容器
    -i 交互式操做
    -t  開啓一個終端

docker run 鏡像名 #建立容器實例
docker rm  容器id  #刪除容器記錄,必須提早docker stop 容器id ,只能殺死已經中止的容器
docker ps  #查看容器正在運行記錄
docker ps -aq  #顯示全部容器記錄的id號
    -a  顯示全部容器記錄
    -q     顯示容器id
    
docker rm  `docker ps -aq`  #一次性刪除全部容器記錄

docker container ls  #查看容器正在運行記錄
docker commit  容器id記錄  #提交這個容器,建立一個新的鏡像
docker logs  #查看容器運行日誌 
    -f   #不間斷打印容器日誌
    
docker port   #查看容器的端口映射關係(外部訪問到容器內的端口)
docker run -d  centos  -P  
-d 後臺運行
-P   隨機映射端口  
-p  9000(宿主機):5000(容器內) 
--name   給建立的容器記錄,添加別名


倉庫




1.docker pull 

2.docker run    #若是沒有這個鏡像,直接docker run 它也會內部去下載這個鏡像




#腳本的概念就是,將你想作的事,寫入到一個文件中,而後執行這個文件,就是執行一個腳本



#假如我想定製一個本身的 docker鏡像 
#首先得有一個基礎操做系統鏡像
#FROM centos  #基於這個centos的鏡像,而後定製我本身的鏡像
#底下經過docker提供的指令,添加,自定製本身的規則,而後建立本身的鏡像文件
#FROM centos  #基於這個centos的鏡像,而後定製我本身的鏡像
#RUN yum install vim -y 
#RUN yum install nginx -y  


#僅僅只有這3句的dockerfile,就能定製一個擁有nginx和vim的centos鏡像文件

#此時我構建出的這個centos-vim-nginx鏡像文件,就能夠傳給14期的全部同窗用


#我們14期的同窗,就能夠 docker load 或者docker pull 這個鏡像,docker run centos-vim-nginx



FROM scratch #製做base image 基礎鏡像,儘可能使用官方的image做爲base image


FROM centos #使用base image

FROM ubuntu:14.04 #帶有tag的base image


#至關於代碼註釋,告訴別人,你的鏡像文件的信息是什麼
LABEL version=「1.0」 #容器元信息,幫助信息,Metadata,相似於代碼註釋
#定義一個dockerfile的做者信息
LABEL maintainer="wupeiqidsb"


#開始定製本身的鏡像需求
#對於複雜的RUN命令,避免無用的分層,多條命令用反斜線換行,合成一條命令!
RUN yum update && yum install -y vim \
    Python-dev #反斜線換行
#RUN指令,至關於在centos中執行了一堆命令
RUN hostnamectl set-hostname mydocker
RUN yum install redis -y 
    
#寫上3條就會執行者3條


WORKDIR /root                     #至關於linux的cd命令,改變目錄,儘可能使用絕對路徑!!!不要用RUN cd
WORKDIR /test                         #若是沒有就自動建立
WORKDIR demo                         #再進入demo文件夾
WORKDIR s14
WORKDIR /opt 

RUN pwd      /opt 


#ADD和COPY
#宿主機linux有本身的磁盤,文件夾
#容器空間 也有本身的文件夾

#咱們使用docker必定是想將宿主機的文件,添加到容器中

#ADD就是添加宿主機的文件,到容器當中
#ADD還有一個解壓縮的功能

# /opt 
ADD and COPY 
#把宿主機的hello文件,放入到容器的 / 根目錄下
# 這個hello文件的相對路徑,是以Dockerfile文件所在目錄爲相對路徑

ADD hello /  #把本地文件添加到鏡像中,吧本地的hello可執行文件拷貝到鏡像的/目錄

#把與dockerfile同級的一個test.tar.gz壓縮文件,拷貝添加到容器的 根 / 目錄中,而且解壓縮
#  遠程傳輸 而且  tar -zxvf  
ADD test.tar.gz /  #添加到根目錄並解壓  
 

WORKDIR /root  #切換工做目錄到 /root 

#把dockerfile同級的那個hello文件 拷貝到容器的/root/test/hello 

ADD hello test/ #進入/root/ 添加hello可執行命令到test目錄下,也就是/root/test/hello 一個絕對路徑

COPY hello test/  #等同於上述ADD效果



ADD與COPY
    -ADD除了COPY功能還有解壓功能
    
添加遠程文件/目錄使用curl或wget



ENV #環境變量,儘量使用ENV增長可維護性
ENV MYSQL_VERSION 5.6 #設置一個mysql常量
RUN yum install -y mysql-server=「${MYSQL_VERSION}」 


RUN ./cofigure  --prefix=/opt/
RUN  make&& make install 




#dockerfile實驗

1.準備一個flask代碼,準備python代碼
    from flask import Flask
    app=Flask(__name__)
    @app.route('/')
    def hello():
        return "hello docker,i am  sbwueiqi, i am in s14 "
    if __name__=="__main__":
        app.run(host='0.0.0.0',port=8080)
        
2.準備Dockerfile,準備好全部須要的文件
[root@node1 /data/mydocker 10:33:53]#ls
CentOS-Base.repo  Dockerfile  epel.repo  myflask.p

cat Dockerfile
    FROM centos        
    LABEL maintainer="Chao Yu<yc_uuu@163.com>"
    ADD CentOS-Base.repo /etc/yum.repos.d/
    ADD epel.repo /etc/yum.repos.d/
    RUN yum clean all
    RUN yum install python-pip -y
    RUN pip install -i https://pypi.tuna.tsinghua.edu.cn/simple flask
    COPY myflask.py /app/
    WORKDIR /app
    EXPOSE 8080
    CMD ["python","myflask.py"]
    1.引入一個centos鏡像,爲基礎鏡像
    2.做者註釋信息
    3.添加本地的兩個yum文件,到容器的/etc/yum.repos.d/底下
    4.清空yum緩存
    5.yum安裝pip工具
    6.pip安裝flask模塊,指定清華源
    7.拷貝本地的flask代碼,到容器的/app/目錄下
    8.切換工做目錄,到/app底下
    9.暴露容器的8080端口,而後在運行鏡像時候,加上-p參數,指定端口映射
    10.執行命令,運行flask
    

3.構建docker鏡像文件
docker build -t yuchao163/s14-flask-docker       .
#構建當前目錄的Dcokerfile,而後構建出一個名爲yuchao163/s14-flask-docker 這個的鏡像文件
-t  tag參數,給鏡像加上標記名
dockerhub帳戶名:yuchao163

dockerhub帳戶名/鏡像名   #是爲了後面講docker鏡像,推送到dockerhub

4.查看鏡像是否構建完成
docker images 

5.運行這個鏡像文件,產生容器實例

docker run -p 9000:8080   -d 43d
-p  映射9000端口到容器的8080
-d 後臺運行 
43d  鏡像id

6.查看已經運行的docker實例

docker ps 

7.學習dockerhub,發佈本身的docker鏡像
    1.我能夠先下載其餘人的docker鏡像
    
    docker pull yuchao163/hello-world-docker
    
    2.上傳本身的docker鏡像 
        docker login  #登陸本身的docker hub帳號 ,輸入密碼 
        #docker就會有你本身的dockerhub帳號信息  yuchao163
        
    3.更改docker鏡像的名字,也就是加上一個tag標記
        docker tag s14/centos-vim  yuchao163/s14-centos-vim
        docker tag  現有鏡像名字     dockerhub帳戶名/新的鏡像名
    4.登陸後能夠推送鏡像文件,此時推送給的是本身的yuchao163帳號倉庫下
        docker push yuchao163/s14-hello-docker 
        
    5.登陸https://hub.docker.com/查看本身推送的公網鏡像
        



8.構建公司私有docker倉庫,其實就是搭建一個api服務器,經過api能夠下載鏡像
    1.下載docker官方提供的私有倉庫鏡像
    docker pull  registry
    2.查看鏡像
    docker images 
    3.啓動一個私有倉庫容器
        docker run -d \
            -p 5000:5000 \
            -v /opt/data/registry:/var/lib/registry \
            registry
    4.此時能夠檢查容器進程
    docker ps 
    5.此時私有倉庫就打開了5000端口,經過端口映射,訪問宿主機的5000端口,查看是否通訊
    yum install telnet -y 
    
    telnet 127.0.0.1 5000   #檢測5000端口是否通訊
    
    6.修改本地鏡像的tag標籤,標註我要往哪push鏡像
    docker tag docker.io/hello-world  192.168.12.96:5000/s14-hello
    
    7.修改docker配置,容許非安全的傳輸方式
    
        1.vim /etc/docker/daemon.json,寫入信息,私有倉庫地址,都得改爲本身的
            {"registry-mirrors": ["http://95822026.m.daocloud.io"],
            "insecure-registries":["192.168.12.96:5000"]
            }
        2.修改docker.server 
            vim /lib/systemd/system/docker.service
            #寫入以下信息,請在[service]中寫入        
            [Service]
            EnvironmentFile=/etc/docker/daemon.json
        
        
        
    8.重啓docker服務,使得生效
    systemctl daemon-reload  #從新加載docker配置文件
    
    systemctl restart docker #重啓docker服務 
    
    9. #重啓docker服務,會中止容器,所以要再次啓動
    
        docker ps -a 
        docker start b23bcfe42e80  #啓動這個私有倉庫容器

    10.推送本地鏡像到 私有倉庫 192.168.12.96:5000
        docker push 192.168.12.96:5000/s14-hello

    11.此時訪問api接口,查看私有倉庫的數據
    http://192.168.12.96:5000/v2/_catalog

    
    
docker的數據集掛載功能
-v 參數 掛載宿主機的文件:容器內的文件夾   
    -v  /opt/data:/opt/s14/ 
    
docker run -p 8000:8080 -v /opt/s14:/opt/data/ -d 43d
    啓動容器,經過-v參數掛載
    掛載容器內的/opt/data/文件夾,其實訪問的是宿主機的/opt/s14/

-p   7000:5000


    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    



redhat enterprice linux  
    1.熟悉linux環境Python OOP編程,擅長RHEL/centos7操做系統
    2.熟悉linux經常使用命令
    3.熟練使用virtualenvwrapper管理python多個解釋器環境
    4.熟練mysql關係型數據庫,CURD,mysql主從複製
    5.熟練NoSQL非關係型數據庫redis,mongodb
    6.熟練redis主從配置,數據持久化RDB、AOF、redis哨兵維護redis主從高可用,瞭解redis-cluster 
    7.擅長nginx上線python項目,使用uwsgi+nginx+supervisor管理python項目
    8.熟練nginx反向代理,負載均衡配置
    9.熟悉docker安裝配置,經常使用docker命令,編寫dockerfile構建鏡像,構建私有docker倉庫
    10.熟悉linux下運維管理軟件saltstack
    11.熟悉ubuntu操做系統
2

 

 /宿主機與容器文件互相拷貝

https://www.cnblogs.com/jifeng/p/10930111.html

 

配置如下內容,加快鏡像下載

 cat /etc/docker/daemon.json #修改這個文件爲以下內容,可先備份文件

{
    "registry-mirrors": [
        "http://95822026.m.daocloud.io"
    ],
    "insecure-registries": []
}

#重啓docker
systemctl restart docker
相關文章
相關標籤/搜索