docker(一)---docker入門

docker是什麼

這裏用簡單的幾句話描述docker作了什麼事情。html

  • docker是一個能夠建立、管理容器的東西。能夠理解爲docker裏面存放了許多容器
  • 容器就是一個精簡版的linux系統,這個系統只有基本的環境供以使用,裏面能夠運行程序(能夠是mysql,能夠是nginx,能夠是redis等)。
  • 容器的建立是依賴於鏡像的,鏡像能夠看做是一個模板,docker能夠根據鏡像生成一個容器實例,假如你須要一個容器中放入mysql,那麼就去docker的鏡像倉庫拉取一個mysql鏡像(可指定版本),而後docker能夠基於這個鏡像建立一個mysql容器,這樣就能在docker中運行使用一個只含有mysql的系統了。
  • 容器的存在使咱們能夠方便作不少事情,好比項目須要mysql、nginx環境來運行,能夠直接建立mysql和nginx容器供項目使用,不須要在服務器上下載、安裝、配置這些環境,容器內部已經包含了這些必備的東西。同時容器還能夠很方便的移植,好比咱們須要切換服務器,這些項目正在使用的容器能夠直接打包帶走放在另外一個服務器上。

docker安裝

  • 若是機器安裝過docker先卸載舊版mysql

    $ sudo yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-engine
    複製代碼
  • 使用存儲庫安裝linux

    在新主機上首次安裝Docker Engine以前,須要設置Docker存儲庫。以後,您能夠從存儲庫安裝和更新Docker。nginx

    安裝yum-utils軟件包(提供yum-config-manager 實用程序)並設置穩定的存儲庫。redis

    $ sudo yum install -y yum-utils
     $ sudo yum-config-manager \
        --add-repo \
        https://download.docker.com/linux/centos/docker-ce.repo
    複製代碼
  • 安裝完成後,運行下面的命令,驗證是否安裝成功。sql

$ docker version
# 或者
$ docker info
複製代碼

Hello Word

好比如今須要一個nginx,首先執行docker

docker pull nginx  # 默認最新版,若是須要指定版本,直接 nginx:version
複製代碼

拉取成功以後,可使用docker images查看shell

[root@izbp109k5j3dul0ejalpf5z html]# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
nginx               latest              4571e56e27f0        2 days ago          132MB
複製代碼

而後啓動容器centos

[root@izbp109k5j3dul0ejalpf5z html]# docker run nginx		# 啓動nginx容器
複製代碼

啓動成功後查看容器dockers pstomcat

容器

docker經常使用命令

  • 查看容器信息

    ##查看docker容器版本
    docker version
    ##查看docker容器信息
    docker info
    ##查看docker容器幫助
    docker --help
    複製代碼
  • 列舉一個鏡像操做

    ##列出本地images
    docker images
    ##含中間映像層
    docker images -a
     ##下載Redis官方最新鏡像,至關於:docker pull redis:latest
    docker pull redis
    ##下載倉庫全部Redis鏡像
    docker pull -a redis
     ##單個鏡像刪除,至關於:docker rmi redis:latest
    docker rmi redis
    ##強制刪除(針對基於鏡像有運行的容器進程)
    docker rmi -f redis
    ##多個鏡像刪除,不一樣鏡像間以空格間隔
    docker rmi -f redis tomcat nginx
    ##刪除本地所有鏡像
    docker rmi -f $(docker images -q)
    複製代碼
  • 容器操做

    ##新建並啓動容器,參數:-i 以交互模式運行容器;-t 爲容器從新分配一個僞輸入終端;--name 爲容器指定一個名稱
    docker run -i -t --name mycentos
    ##後臺啓動容器,參數:-d 已守護方式啓動容器
    docker run -d mycentos
     ##啓動一個或多個已經被中止的容器
    docker start redis
    ##重啓容器
    docker restart redis
     ##進入容器
    docker exec -i -t  centos /bin/bash
     ##查看正在運行的容器
    docker ps
    ##查看正在運行的容器的ID
    docker ps -q
    ##查看正在運行+歷史運行過的容器
    docker ps -a
    ##顯示運行容器總文件大小
    docker ps -s
     ##中止一個運行中的容器
    docker stop redis
    ##殺掉一個運行中的容器
    docker kill redis
    ##刪除一個已中止的容器
    docker rm redis
    ##刪除一個運行中的容器
    docker rm -f redis
    ##刪除多個容器
    docker rm -f $(docker ps -a -q)
    docker ps -a -q | xargs docker rm
    ## -l 移除容器間的網絡鏈接,鏈接名爲 db
    docker rm -l db 
    ## -v 刪除容器,並刪除容器掛載的數據卷
    docker rm -v redis
    複製代碼
相關文章
相關標籤/搜索