CenterOS8安裝docker,以及docker相關(guān)指令

本文安裝環(huán)境為阿里云的centeros8.1版本斩萌。


圖片.png

安裝docker需要linux內(nèi)核大于3.10缝裤,查看內(nèi)核指令,低于3.10需要升級內(nèi)核版本

uname -r  
圖片.png

應(yīng)為阿里官方源不帶docker颊郎,所以需要添加源

#安裝系統(tǒng)工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#添加docker源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
安裝docker
yum -y install docker-ce --nobest
圖片.png

啟動docker

systemctl start docker
圖片.png

修改docker獲取鏡像地址憋飞,原來的地址在國外,要獲取鏡像會很慢

vim /etc/docker/daemon.json 

添加以下內(nèi)容

{
    "registry-mirrors":[
        "http://hub-mirror.c.163.com"
    ],
    "labels":[
        "name=docker_server_2"
    ]
}
圖片.png

重啟一下姆吭,嘗試拉取


圖片.png

docker安裝完成榛做。

下面是我嘗試過的一些操作,相信情況請看官網(wǎng)文檔或自行百度

Centos 7下docker使用與安裝

    使用網(wǎng)絡(luò)源

    備份yum源:
        mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
    下載網(wǎng)易yum源
        cd /tmp
        wget http://mirrors.163.com/.help/CentOS7-Base-163.repo
        mv CentOS7-Base-163.repo /etc/yum.repos.d/CentOS-Base.repo
        yum clean all 
        yum makecache


(
    使用光盤源
        mkdir /mnt/cdrom
        vim /etc/fstab
    添加
        /dev/sr0                /mnt/cdrom            iso9660       defaults        0 0    

    掛載光盤
    mount -t iso9660 /dev/sr0  /mnt/cdrom

    備份yum文件
    cd /etc
    tar -zcvf /tmp/yum.tar.gz yum.repos.d/
    cd /etc/yum.repos.d/
    rm -rf *
    cd /tmp
    tar -zxvf yum.tar.gz
    cd yum.repos.d
    cp CentOS-Media.repo /etc/yum.repos.d/
    vim /etc/yum.repos.d/CentOS-Media.repo
        baseurl=file:////mnt/cdrom/
        enabled=1
)


    查看內(nèi)核版本 內(nèi)核版本需大于3.10
        uname -r  

    移除舊版本
        yum remove docker \
                docker-client \
                docker-client-latest \
                docker-common \
                docker-latest \
                docker-latest-logrotate \
                docker-logrotate \
                docker-selinux \
                docker-engine-selinux \
                docker-engine

    安裝系統(tǒng)工具
        sudo yum install -y yum-utils device-mapper-persistent-data lvm2
    添加docker源
        yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 
    安裝docker
        yum -y install docker-ce
    測試docker是否安裝
        systemctl start docker
        docker run hello-world
    添加配置文件
         vim /etc/docker/daemon.json 
            {
                "registry-mirrors": ["http://hub-mirror.c.163.com"],
                "labels": ["name=docker_server_2"]
            }

容器的基本操作
    輸出一條語句
        docker run centos echo 'Hello World'

    創(chuàng)建一個名字為base01的 交互式bash  
        docker run --name=bash01 -i -t centos /bin/bash

    列出最近創(chuàng)建的容易 -a 全部 -l最近
        docker ps [-a]  [-l]

    查看配置容器信息
        docker inspect [標(biāo)識]

    啟動一個已創(chuàng)建的容器
        docker start -i [標(biāo)識]

    停止一個運行中的容器
        docker stop [標(biāo)識]

    刪除一個已停止的容器 docker rm $(docker ps -aq)
        docker rm [標(biāo)識]

    查看進程產(chǎn)生的日志 -t 帶格式輸出
        docker logs -t [標(biāo)識] 

    查看進程使用端口
        docker port [標(biāo)識] 或docker ps [標(biāo)識]

    查看web程序容器進程
        docker top [標(biāo)識]


守護式創(chuàng)建
    創(chuàng)建一個名字為base01的 交互式bash  
        docker run --name=bash01 -i -t centos /bin/bash
        按Ctrl+Q或者Ctrl+P切換至守護進程
    
    訪問一個守護進程
        docker attach [標(biāo)識]

    訪問一個守護進程執(zhí)行命令
        docker exec -it [標(biāo)識] [命令]
    
    以后臺進程的方式每隔一秒輸出一次Hello world 
        docker run --name dc1 -d centos /bin/sh -c "while true;do echo hello world;sleep 1; done"

    
容器使用
    抓取一個遠程鏡像
        docker pull training/webapp
    使用遠程鏡像啟動一個線程  -d后臺運行 -P指定默認端口 -p 本機端口:虛擬機端口 指定端口
        docker run --name test-webapp -d -P training/webapp python app.py

    
鏡像使用
    列出本地擁有的鏡像 -q 只查詢ID
        docker images
    獲取一個遠程鏡像
        docker pull [鏡像名:版本信息]
    搜索鏡像信息
        docker search [鏡像名]
    根據(jù)本地進程創(chuàng)建一個鏡像 -m 更新信息 -a 作者  test-webapp(進程名稱) mhz/test:v2(新鏡像名稱:版本號)
         docker commit -m "test update" -a "mhz" test-webapp mhz/test:v2

    創(chuàng)建鏡像:
        Dockerfile:  FROM 指定鏡像源  RUN  在鏡像中執(zhí)行命令
            # 注釋信息
            #指定使用鏡像
            FROM    centos
            #指定鏡像所有者
            MAINTAINER      Fisher "fisher@sudops.com"
            #指定鏡像運行的命令 會在當(dāng)前鏡像創(chuàng)建一個新的分層
            RUN     /bin/echo 'root:123456' |chpasswd
            #指定鏡像使用的端口 需要在運行時用-p 指定
            EXPOSE  80
            #指定容器運行時的默認行為 會被覆蓋
            CMD     /usr/sbin/sshd -D
            #指定容器運行時的默認行為 不會被覆蓋
            ENTRYPOINT /usr/sbin/sshd -D
            #ADD 引用文件路徑 目標(biāo)文件路徑 含解壓
            ADD index.html /var/www/
            #COPY 不解壓
            COPY index.html /var/www/index.html
            #WORKDIR [path] 指定工作目錄 cmd運行目錄在此下執(zhí)行
            #ENV [k=v] 指定環(huán)境變量
            #USER [用戶名]指定用戶
            #VOLUME ["數(shù)據(jù)卷路徑",...]  #指定一個掛載的數(shù)據(jù)卷

        docker build -t 鏡像名:版本號 -f docker_build_file 保存路徑 [--no-cache]
        如果Dockerfile在當(dāng)前目錄 使用 . 即可
        docker build -t mhz/testbuild .
        克隆一個鏡像
            docker tag [標(biāo)識] [鏡像名:版本號]

        查看鏡像構(gòu)建過程
        docker history [標(biāo)識]

    刪除鏡像 docker rmi $(docker images -q)
    docker rmi [標(biāo)識]

    上傳鏡像
    docker push [標(biāo)識]


遠程連接
    服務(wù)端
        cp  /lib/systemd/system/docker.service /lib/systemd/system/docker.service.back
        vim /lib/systemd/system/docker.service
        在[service]下添加
            EnvironmentFile=/etc/default/docker
        修改ExecStart
            ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock $DOCKER_OPTS
        vim /etc/default/docker  -H 開放一個遠程連接  [tcp|unix|fd://ip:端口]
            DOCKER_OPTS=" -H tcp://0.0.0.0:2375"
        查看連接
            curl http://127.0.0.1:2375/info

    客戶端
        遠程訪問服務(wù)器 一次性
            docker -H [tcp|unix|fd://ip:端口] 命令
        長期
            export DOCKER_HOST="[tcp|unix|fd://ip:端口]"
            export DOCKER_HOST="tcp://192.168.65.233:2375"
        取消
            export DOCKER_HOST=""

網(wǎng)絡(luò)管理
    添加網(wǎng)橋管理
         yum install -y bridge-utils
    修改虛擬網(wǎng)卡地址
        ifconfig docker0 192.168.200.1 netmask 255.255.255.0
    創(chuàng)建新網(wǎng)橋
        brctl addbr br0
    配置新網(wǎng)橋地址
        ifconfig br0 192.168.200.1 netmask 255.255.255.0

    容器內(nèi)連接:默認允許連接

        創(chuàng)建鏡像
            vim /etc/default/docker
                DOCKER_OPTS="-b br0"

            touch Dockerfile 
            vim Dockerfile
                FROM centos
                RUN yum install -y net-tools
                RUN yum install -y httpd
                EXPOSE  80
                CMD /bin/bash

            docker build -t image/test_network .


        vim /etc/default/docker 
        --icc=false #拒絕容器內(nèi)鏈接
        --icc=false --iptables=true #運行特定的容器相鏈接

        docker run --name test_network_1 -it image/test_network   
        docker run --name test_network_2 -it image/test_network    
        #--link給鏈接設(shè)置別名 --icc=false --iptables=true設(shè)置時能與特定的容器連接
        docker run --name test_network_2 -it --link=test_network_1:webtest image/test_network  
        #如果直接啟動可以忽略{
            docker start test_network_1 test_network_2 test_network_3
        }
        docker attach test_network_3
        ping  webtest
        如果ping不同可以嘗試{
            #查看路由信息
            iptables -L -n
            #清空路由信息
            iptables -F
        }

數(shù)據(jù)卷
    docker run  -it -v 本機共享目錄:鏡像共享目錄:權(quán)限 鏡像名 指令
    docker run -it --name share_test_1 -v /tmp/share/docker:/tmp/share/docker centos /bin/bash
    # --volumes-from [容器名]傳遞一個數(shù)據(jù)掛在卷的配置
    docker run  --name share_test_2  -it --volumes-from share_test centos /bin/bash

    備份 在添加一個共享目錄内狸,利用tar進行備份和解壓
        docker run --name test_backup --volumes-from share_test_1 -v /tmp/backup/docker:/backup centos  tar -zcvf /backup/share_test_1.tar /tmp/share/docker

    解壓 
        docker run --name test_release_backup --volumes-from share_test_1 -v /tmp/backup/docker:/backup centos  tar -zxvf /backup/share_test_1.tar /tmp/share/docker

跨主機的互聯(lián)
    安裝weave
        curl -L git.io/weave -o /usr/local/bin/weave
        chmod a+x /usr/local/bin/weave

        啟動weave
        weave launch [目標(biāo)連接IP]
        
        創(chuàng)建一個容器
        docker run --name test_link -it centos /bin/bash
        將容器添加至weave控制
        weave attach 192.168.1.3/24 test_link
        嘗試ping另一容器地址
        ping 192.168.1.1
        查看容器ip地址
        weave ps

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末检眯,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子昆淡,更是在濱河造成了極大的恐慌锰瘸,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,639評論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件昂灵,死亡現(xiàn)場離奇詭異避凝,居然都是意外死亡舞萄,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,277評論 3 385
  • 文/潘曉璐 我一進店門恕曲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來鹏氧,“玉大人,你說我怎么就攤上這事佩谣。” “怎么了实蓬?”我有些...
    開封第一講書人閱讀 157,221評論 0 348
  • 文/不壞的土叔 我叫張陵茸俭,是天一觀的道長。 經(jīng)常有香客問我安皱,道長调鬓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,474評論 1 283
  • 正文 為了忘掉前任酌伊,我火速辦了婚禮腾窝,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘居砖。我一直安慰自己虹脯,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 65,570評論 6 386
  • 文/花漫 我一把揭開白布奏候。 她就那樣靜靜地躺著循集,像睡著了一般。 火紅的嫁衣襯著肌膚如雪蔗草。 梳的紋絲不亂的頭發(fā)上咒彤,一...
    開封第一講書人閱讀 49,816評論 1 290
  • 那天,我揣著相機與錄音咒精,去河邊找鬼镶柱。 笑死,一個胖子當(dāng)著我的面吹牛模叙,可吹牛的內(nèi)容都是我干的歇拆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,957評論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼向楼,長吁一口氣:“原來是場噩夢啊……” “哼查吊!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起湖蜕,我...
    開封第一講書人閱讀 37,718評論 0 266
  • 序言:老撾萬榮一對情侶失蹤逻卖,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后昭抒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體评也,經(jīng)...
    沈念sama閱讀 44,176評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡炼杖,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,511評論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了盗迟。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片坤邪。...
    茶點故事閱讀 38,646評論 1 340
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖罚缕,靈堂內(nèi)的尸體忽然破棺而出艇纺,到底是詐尸還是另有隱情,我是刑警寧澤邮弹,帶...
    沈念sama閱讀 34,322評論 4 330
  • 正文 年R本政府宣布黔衡,位于F島的核電站,受9級特大地震影響腌乡,放射性物質(zhì)發(fā)生泄漏盟劫。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,934評論 3 313
  • 文/蒙蒙 一与纽、第九天 我趴在偏房一處隱蔽的房頂上張望侣签。 院中可真熱鬧,春花似錦急迂、人聲如沸影所。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,755評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽型檀。三九已至,卻和暖如春听盖,著一層夾襖步出監(jiān)牢的瞬間胀溺,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,987評論 1 266
  • 我被黑心中介騙來泰國打工皆看, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留仓坞,地道東北人。 一個月前我還...
    沈念sama閱讀 46,358評論 2 360
  • 正文 我出身青樓腰吟,卻偏偏與公主長得像无埃,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子毛雇,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 43,514評論 2 348

推薦閱讀更多精彩內(nèi)容