1. 程式人生 > >【轉】CentOS6.5下docker的安裝及遇到的問題和簡單使用

【轉】CentOS6.5下docker的安裝及遇到的問題和簡單使用

Docker是一個開源的應用容器引擎,可以輕鬆的為任何應用建立一個輕量級的、可移植的、自給自足的容器。利用Linux的LXC、AUFS、Go語言、cgroup實現了資源的獨立,可以很輕鬆的實現檔案、資源、網路等隔離,其最終的目標是實現類似PaaS平臺的應用隔離。

    Docker值得關注的特性:

  • 檔案系統隔離:每個程序容器執行在一個完全獨立的根檔案系統裡。

  • 資源隔離:系統資源,像CPU和記憶體等可以分配到不同的容器中,使用cgroup。

  • 網路隔離:每個程序容器執行在自己的網路空間,虛擬介面和IP地址。

  • 日誌記錄:Docker將會收集和記錄每個程序容器的標準流(stdout/stderr/stdin),用於實時檢索或批量檢索。

  • 變更管理:容器檔案系統的變更可以提交到新的映像中,並可重複使用以建立更多的容器。無需使用模板或手動配置。

  • 互動式shell:Docker可以分配一個虛擬終端並關聯到任何容器的標準輸入上,例如執行一個一次***互shell。

    Docker通常用於如下場景:

  • web應用的自動化打包和釋出;

  • 自動化測試和持續整合、釋出;

  • 在服務型環境中部署和調整資料庫或其他的後臺應用;

  • 從頭編譯或者擴充套件現有的OpenShift或Cloud Foundry平臺來搭建自己的PaaS環境。

    本文介紹如何在RedHat/CentOS環境下安裝Docker。官方文件要求Linux kernel至少3.8以上,且docker只能執行在64位的系統中。

由於RHEL6和CentOS6的核心版本為2.6,因此必須要先升級核心。

    下面以CentOS6.5(64位)為例,介紹下docker安裝步驟和使用方法:

一、升級核心(帶aufs模組,記住一定要升級,要不然會出現很多莫名奇怪的問題,建議用yum安裝)

123cd /etc/yum.repos.d wget http://www.hop5.in/yum/el6/hop5.repoyum install kernel-ml-aufs kernel-ml-aufs-devel

    2、修改grub的主配置檔案/etc/grub.conf,設定default=0,表示第一個title下的內容為預設啟動的kernel(一般新安裝的核心在第一個位置)。

wKiom1R1XF_BWoKPAAPcDXlNx-A406.jpg

    3、重啟系統,這時候你的核心就成功升級了。

12[[email protected] ~]# uname -r3.10.5-3.el6.x86_64

    檢視核心是否支援aufs:

12[[email protected] ~]# grep aufs /proc/filesystemsnodev    aufs

二、安裝docker

    1、首先關閉selinux:
12setenforce 0sed -i '/^SELINUX=/c\SELINUX=disabled' /etc/selinux/config

    2、在Fedora EPEL源中已經提供了docker-io包,下載安裝epel:

12rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpmsed -i 's/^mirrorlist=https/mirrorlist=http/' /etc/yum.repos.d/epel.repo

    3、yum安裝docker-io:

1yum -y install docker-io

wKioL1R2oWOCRxohAAONGaU5ZIs803.jpg

    4、啟動docker:

1service docker start

wKioL1R1QBaDsuZ9AACThIbJ9Eo954.jpg

    5、檢視docker版本:

wKioL1R1ejWCsWMqAAGVpn-s-Uk526.jpg

    檢視docker日誌:

1cat /var/log/docker

三、docker命令的使用

    1、直接輸入docker命令來檢視所有的Options和Commands。

    檢視某一個command的詳細使用方法:docker COMMAND --help

wKiom1R1dHbzIJLfAADQR3jiJtM669.jpg 

    2、搜尋可用的docker映象:docker search NAME

wKiom1R1Z2eDpDhPAAS6paTJagQ409.jpg 

    3、下載映象:docker pull NAME[:TAG]

    比如獲取最新的centos映象:docker pull centos:latest

    注意:這裡要寫用docker search搜尋到的完整的映象名。
    4、檢視安裝的映象:docker images [NAME]

wKiom1R1c7LgL0uwAADPCgcMWqw663.jpg 

    5、在docker容器中執行命令:docker run IMAGE [COMMAND] [ARG...]

    docker run命令有兩個引數,一個是映象名,一個是要在映象中執行的命令。

    注意:IMAGE=REPOSITORY[:TAG],如果IMAGE引數不指定映象的TAG,預設TAG為latest。

    在剛剛下載的映象中輸出"hello word":docker run centos echo 'hello world!'wKiom1R1c3fj6XQFAABqRD8XV6o479.jpg 

    6、列出容器:docker ps -a

    檢視最近生成的容器:docker ps -l

    檢視正在執行的容器:docker ps

    7、顯示容器的標準輸出:docker logs CONTAINERID

    無需拷貝完整的id,一般寫最開始的三至四個字元即可。

wKiom1R1m_STX0iUAAGRjbJx35o891.jpg 

    8、在容器中安裝新程式,比如安裝ifconfig命令(centos7預設沒有ifconfig):docker run centos yum install net-tools -y

    如果yum不指定-y引數的話,yum命令會進入互動模式,需要使用者輸入命令來進行確認,在docker環境中是無法響應這種互動的。但使用docker run的-i -t引數就會響應這種互動,使用者可以輸入命令了,比如:docker run -i -t centos yum install net-tools

    9、儲存對容器的修改並生成新的映象:docker commit CONTAINERID [REPOSITORY[:TAG]]

    REPOSITORY引數可以是新的映象名字,也可以是舊的映象名;如果和舊的映象名和TAG都相同,會覆蓋掉舊的映象。

wKiom1R1lhuQSjeFAAYdjYDJl7g665.jpg

    10、停止正在執行的容器:docker stop CONTAINERID

    預設等待10秒鐘再殺死指定容器。可以使用-t引數來設定等待時間。

wKioL1R1eVaAon28AAFM9IS_WPk474.jpg 

    11、檢視容器或映象的詳細資訊:docker inspect CONTAINERID|IMAGE

    引數可以是容器的ID或者是映象名(NAME:TAG)。

wKioL1R1e8uSeslZAAIcWL54yBA017.jpg 

    12、刪除容器:docker rm CONTAINERID

    檢視所有容器ID:docker ps -a -q

    刪除所有的容器:docker rm $(docker ps -a -q)

    13、刪除映象:docker rmi IMAGE

wKioL1R1oW-gqMmrAALqpTRiwN8314.jpg

     14.檢視docker的資訊,包括Containers和Images數目、kernel版本等。

wKiom1R1sCDBp_afAAEBBnNOVBo956.jpg

四、建立容器並登入的操作

    1、建立一個新容器並登入:docker run -i -t IMAGE /bin/bash

    使用image建立container並進入互動模式,login shell是/bin/bash,現在可以自由的對容器進行操作了。最後使用exit退出容器。

    注意:如果IMAGE引數不指定TAG,預設TAG為latest。

    2、啟動一個退出的容器:docker start CONTAINERID

    3、attach到執行中的容器:docker attach CONTAINERID

wKiom1R1pBST_fU7AAOkWUKDLA0506.jpg

相關推薦

CentOS6.5docker安裝遇到的問題簡單使用

Docker是一個開源的應用容器引擎,可以輕鬆的為任何應用建立一個輕量級的、可移植的、自給自足的容器。利用Linux的LXC、AUFS、Go語言、cgroup實現了資源的獨立,可以很輕鬆的實現檔案、資源、網路等隔離,其最終的目標是實現類似PaaS平臺的應用隔離。    Doc

GitCentos6.5簡單部署Git伺服器

1、安裝git Git官方網站git-scm.com中,沒有給出Centos版本的安裝案例,但沒關係,我們手動編譯安裝也一樣。準備好原始碼包,我選的1.9.0版本。 a) 將壓縮包git-1.9.0

Centos6.5Tomcat安裝配置

tsp watermark ext name mode export f2c images centos6 一、安裝前準備 安裝Tomcat需要提供JDK支持 下載JDK安裝包 #wget https://download.oracle.com/otn-pub/java/j

CentOS6.5編譯安裝MySQL 5.6.16詳細教程

登入mysql mysql -uroot -p 輸入密碼: #建立普通mysql使用者 CREATE USER 'cwtcn'@'localhost' IDENTIFIED BY 'cwtcn'; #建立資料庫 CREATE DATABASE IF NOT EXISTS`cwtcn_offset` D

Linux CentOS6.5編譯安裝MySQL 5.6.16給力詳細教程

一、編譯安裝MySQL前的準備工作 安裝編譯原始碼所需的工具和庫 yum install gcc gcc-c++ ncurses-devel perl 安裝cmake,從http://www.cmake.org下載原始碼並編譯安裝 wget http://www.cm

Linux CentOS6.5安裝Python2.7以及pip等工具

自己 lin 存在 lean prefix nbsp ase 路徑 details 原文地址http://blog.csdn.net/u012538536/article/details/47360929。 CentOS6.5下是原來就有python的,我的鏡像裏面自帶的

在Linux安裝python3

原文連結:http://www.cnblogs.com/feng18/p/5854912.html 1、linux下安裝python3 a、 準備編譯環境(環境如果不對的話,可能遇到各種問題,比如wget無法下載https連結的檔案)

IIS7.5安裝後ASP+access資料庫連線錯誤的問題解決辦法

0 推薦 第一步、安裝IIS。 開始——控制面板——程式和功能——開啟關閉Windows功能,找打Internet資訊服務然後打勾,記得要在應用程式開發功能裡勾選asp,和asp.net,然後找到Internet資訊服務上面的Internet information service 可承載web核心

Centos6.5 Docker安裝

更新device-mapper避免跟docker不相容帶來的docker啟動報錯問題 yum update device-mapper 安裝docker yum install –y docker-io 如果沒有docker-io的包就安裝一下epel yum insta

centos6.5yum安裝mysql5.5

eps mysql 啟動 pms pan tar oar exp let 第一步就是看linu是否安裝了mysql,經過rpm -qa|grep mysql查看到centos下安裝了mysql5.1,那就開始卸載咯 2 接下來就是卸載mysql5.1了,命令

Mac環境svn命令行的使用

資源庫 帳號 之間 rto 有效 write rac update pac 轉載地址:http://blog.csdn.net/itianyi/article/details/8981989 在Windows環境中,我們一般使用TortoiseSVN來搭建svn環境。

CentOS6.5nginx安裝

模塊 pcre acc .cn nginx fig 啟動服務 tab start 一、nginx安裝環境 1、Gcc rpm -qa | grep gcc 安裝nginx需要先將官網下載的源碼進行編譯,編譯依賴gcc環境,如果沒有gcc環境,需要

docker學習------記錄centos7.5docker安裝更換國內源的處理過程

清空 mirror 邏輯 TP img 其他 準備 過程 直接 一、centos7.5下更換阿裏源 1.裝好centos7.5鏡像,將yum源更換為阿裏源   第一步:剛出的centos7.5是解析不到阿裏的東西的,所以找了臺centos7.4,下載一些包     (1

CentOS6.5Cloudera安裝搭建部署大數據集群(圖文分五大步詳解)(博主強烈推薦)

centos6 數據 http 時間 log .com pos OS 客戶端  第一步: Cloudera Manager安裝之Cloudera Manager安裝前準備(CentOS6.5)(一) 第二步: Cloudera Manager安裝之時間服務器和

新裝的CentOS 7安裝python3

url dev 來源 -m ces man root 目錄 安裝python https://blog.csdn.net/lovefengruoqing/article/details/79284573 centos7 自帶有 python,但是卻是 python2 版本

Linux系統的ssh使用

fall yum scp 客戶機 縮進 永久 任務 known root 對於linux運維工作者而言,使用ssh遠程遠程服務器是再熟悉不過的了!對於ssh的一些嚴格設置也關系到服務器的安全維護,今天在此,就本人工作中使用ssh的經驗而言,做一些總結記錄來下。 -bas

資料庫介紹(MySQL安裝 體系結構、基本管理)

【轉】資料庫介紹(MySQL安裝 體系結構、基本管理) 第1章 資料庫介紹及mysql安裝   1.1 資料庫簡介   資料庫,簡而言之可視為電子化的檔案櫃——儲存電子檔案的處所,使用者可以對檔案中的資料執行新增、擷取、更新、刪除等操作。   所謂“資料庫”系以一定方式儲存在一起、能予多個

LinuxCentOS6上mysql5.7安裝

1.下載安裝yum源 根據系統下載yum源 https://dev.mysql.com/downloads/repo/yum/ rpm -ivh xxxxx.rpm 2.修改yum源 vim /etc/yum.repos.d/mysql-community.repo enable想要下載的版本

Ubuntu 64位系統安裝交叉編譯環境一直提醒 沒有那個檔案或目錄

安裝交叉編譯環境搞了一個晚上 一直提示 [email protected]:~# arm-linux-gcc/usr/local/arm/4.3.2/bin/arm-linux-gcc: 行 3: /usr/local/arm/4.3.2/bin/arm-none-linux-gnueabi-g

DjianGo Windows7安裝

     安裝DjianGo前必須安裝Python環境,由於已經裝過,這裡不再貼出安裝Python的步驟,我的Python版本是3.2。    1、下載django https://github.com/django/django/releases