雲計算核心技術Docker教程:Docker容器使用

2020-12-10 TechWeb

docker 客戶端非常簡單 ,我們可以直接輸入 docker 命令來查看到 Docker 客戶端的所有命令選項。

可以通過命令 docker command --help 更深入的了解指定的 Docker 命令使用方法。

例如我們要查看 docker stats 指令的具體使用方法:

命令如下:

$ docker stats --help

如果我們本地沒有 ubuntu 鏡像,我們可以使用 docker pull 命令來載入 ubuntu 鏡像:

$ docker pull ubuntu

以下命令使用 ubuntu 鏡像啟動一個容器,參數為以命令行模式進入該容器:

$ docker run -it ubuntu /bin/bash -i: 交互式操作 。-t: 終端。

要退出客戶端程序,直接輸入 exit:

查看所有的容器命令如下:

$ docker ps -a

使用 docker start 啟動一個已停止的容器:

$ docker start <容器 ID>

在大部分的場景下,我們希望 docker 的服務是在後臺運行的,我們可以過 -d 指定容器的運行模式。

$ docker run -itd --name ubuntu-test ubuntu /bin/bash

要停止一個容器運行使用如下命令:

$ docker stop <容器 ID>

要重啟一個容器運行使用如下命令:

$ docker restart <容器 ID>

在使用 -d 參數時,容器啟動後會進入後臺。此時想要進入容器,可以通過以下指令進入:

docker attach

docker exec:推薦大家使用 docker exec 命令,因為此退出容器終端,不會導致容器的停止。

如果要導出本地某個容器,可以使用 docker export 命令。

$ docker export <容器 ID> > ubuntu.tar

可以使用 docker import 從容器快照文件中再導入為鏡像,以下實例將快照文件 ubuntu.tar 導入到鏡像 test/ubuntu:v1命令如下:

$ cat docker/ubuntu.tar | docker import - test/ubuntu:v1

刪除容器使用 docker rm 命令:

$ docker rm -f <容器 ID>

可能出現的問題,如果Docker容器執行docker命令時出現:

」Got permission denied while trying to connect to the Docker daemon socket at unix:///var/run/docker.sock: Get http://%2Fvar%2Frun%2Fdocker.sock/v1.26/images/json: dial unix /var/run/docker.sock: connect: permission denied「

這個報錯原因是因為docker進程使用Unix Socket而不是TCP埠。而默認情況下,Unix socket屬於root用戶,需要root權限才能訪問。

解決辦法:

1.使用sudo獲取管理員權限,運行docker命令。

2.docker守護進程啟動的時候,會默認賦予名字為docker的用戶組讀寫Unix socket的權限,因此只要創建docker用戶組,並將當前用戶加入到docker用戶組中,那麼當前用戶就有權限訪問Unix socket了,進而也就可以執行docker相關命令,命令如下:

sudo groupadd docker #添加docker用戶組

sudo gpasswd -a $USER docker #將登陸用戶加入到docker用戶組中

newgrp docker #更新用戶組

docker ps #測試docker命令是否可以使用sudo正常使用

相關閱讀:

雲計算核心技術Docker教程:在Centos中安裝Docker

雲計算的主流容器平臺Docker架構分析

相關焦點

  • 雲計算核心技術Docker教程:Docker容器中開啟SSH服務
    在docker容器中我們不止需要通過宿主機進行登錄對容器進行修改,我還有事還希望直接通過SSH登錄到docker容器中進行一些修改,這樣的話我們需要將容器中ssh埠映射到宿主機,然後再容器中安裝openssh服務。
  • 雲計算核心技術Docker教程:Docker Swarm 使用
    Docker Swarm 提供了標準的 Docker API,所有任何已經與 Docker 守護程序通信的工具都可以使用 Swarm 輕鬆地擴展到多個主機。如下圖所示,swarm 集群由管理節點(manager)和工作節點(work node)構成。
  • 雲計算核心技術Docker教程:Docker多階段構建
    請注意,此示例還RUN使用Bash&&運算符將兩個命令人工壓縮在一起,以避免在鏡像中創建額外的圖層。這是容易失敗的並且難以維護。-f Dockerfile.builddocker container create --name extract alexellis2/href-counter:builddocker container cp extract:/go/src/github.com/alexellis/href-counter/app .
  • 雲計算核心技術Docker教程: events/inspect命令詳解
    在docker客戶端命令行中我們可以使用events命令從伺服器獲取實時事件便於查找調試問題,使用inspect命令獲取容器或鏡像的元數據。示例docker events : 從伺服器獲取實時事件語法docker events [OPTIONS]OPTIONS說明:-f :根據條件過濾事件;--since :從指定的時間戳後顯示所有事件;--until :流水時間顯示到指定的時間為止;例如,顯示docker 2020
  • 雲計算核心技術Docker教程:events/inspect命令詳解
    在docker客戶端命令行中我們可以使用events命令從伺服器獲取實時事件便於查找調試問題,使用inspect命令獲取容器或鏡像的元數據。示例docker events : 從伺服器獲取實時事件語法docker events [OPTIONS]OPTIONS說明:-f :根據條件過濾事件;
  • 雲計算核心技術Docker教程:Docker 守護進程dockerd默認的CGROUP父級
    該--cgroup-parent選項允許您設置用於容器的默認cgroup父級。如果未設置此選項,則默認為/docker對於fs cgroup驅動程序和system.slicesystemd cgroup驅動程序。
  • Docker 入門教程
    三、Linux 容器由於虛擬機存在這些缺點,Linux 發展出了另一種虛擬化技術:Linux 容器(Linux Containers,縮寫為 LXC)。Linux 容器不是模擬一個完整的作業系統,而是對進程進行隔離。或者說,在正常進程的外面套了一個保護層。
  • 智匯華雲|Docker容器網絡解析
    企業IT建設開始大規模使用Docker時,你會發現需要了解很多關於網絡的知識。作為目前最火的輕量級容器技術,Docker有很多令人稱道的功能,如Docker的鏡像管理。作為最常規的模式,bridge模式已經可以滿足Docker容器最基本的使用需求了。然而其與外界通信使用NAT,增加了通信的複雜性,在複雜場景下使用會有諸多限制。
  • docker下高並發和高可用之docker swarm使用
    ,操作步驟參考Linux下安裝和使用Docker安裝完,使用命令sudo systemctl start docker啟動docker,再通過命令ls查看當前虛擬機下的服務列表(注意:只能在Manager管理機器上執行,Worker工作機上是沒有執行權限的)通過以下命令查看某個服務下的容器信息docker service ps weatherservice
  • 不用Docker也能構建容器的4種方法
    在本文,我將介紹幾種不用 Docker 就可以構建容器的方法。我將以 OpenFaaS 作為參考案例,它的工作負載使用了 OCI 格式的容器鏡像。OpenFaaS 是 Kubernetes 的一個 CaaS 平臺,可以運行微服務和添加 FaaS 及事件驅動工具。
  • 30分鐘帶你了解Web工程師必知的Docker知識
    做過B端系統或有Saas系統開發經驗的朋友也許會清楚其中的繁瑣,為了客戶安全和私有化往往需要研發人員給企業配置和部署獨立的Web應用,如果你有上百家客戶上千家客戶,我們一個個部署顯然是效率極低的,而且不能保證環境的一致性和穩定性,因為一旦我們的Web系統使用的環境或者包更新了,應用很可能不能正常Work,這種情況下採用Docker容器化技術可以很好的解決這一問題。
  • 推薦給IT新手的11個Docker免費上手項目
    Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發布到任何流行的 Linux或Windows 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口。
  • 利用雲伺服器搭建解鎖免費聽網易雲灰歌曲的代理-docker版
    註:本教程僅作為學習參考使用,請支持正版一、最近在GitHub上發現一個有趣的項目:UnblockNeteaseMusic,可以解鎖網易雲灰色歌曲,利用docker超簡單搭建。二、搭建步驟1、 yum install docker -y ###安裝docker2 、 systemctl start docker ####啟動docker3、systemctl enable docker #########默認開啟
  • Kubernetes決定棄用Docker,到底會影響到誰?
    近幾年,Kubernetes 已經成為自有機房、雲上廣泛使用的容器編排方案,最廣泛的使用方式是 Kubernetes+Docker。從 DevOps 人員的角度,一面用 kubctl 命令、k8s API 來操作集群,一面在單機用 Docker 命令來管理鏡像、運行鏡像。
  • Docker命令行入門大全:這18條,你不得不知
    引用特定容器或鏡像的命令需要該容器或鏡像的名稱或ID。舉個例子,docker container run my_app 是用於構建和運行名為my_app的容器的命令。在本文示例中,我將使用名稱my_container來引用通用容器。同理,my_image、my_tag也是如此。我將單獨提供命令和通用標誌。
  • 【GITC】搜狐雲臺陳偉:基於docker的自動化運維管理架構與實踐
    在會場,搜狐雲臺的技術負責人陳偉向與會嘉賓介紹了搜狐企業級業務編排運維管理系統——DomeOS。  陳偉進行了題為《基於docker的自動化運維管理架構與實踐》的技術分享,他指出,網際網路公司隨著業務的發展,往往會出現伺服器環境越來越複雜,管理依賴困難等問題。這些問題導致運維壓力大,開發、測試、運維的整體工作效率大打折扣,團隊競爭力下降。行業的問題積累,有時需要新技術的出現才能解決。
  • Inko 現在已支持在 Docker Hub 使用
    Inko現在可在Docker Hub上使用發表於: 2020年10月25日
  • docker-9:使用ambari-2.7.3部署大數據集群—兩節點demo
    >(6).資源耗費附錄1.ambari相關的yum repo附錄2.參考文章(1).docker部署ambarigit clone https://github.com/hepyu/docker-ambari-2.7.git
  • 誰是容器中的「戰鬥機」?Docker與Chef、LXC等容器對比
    Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。Docker可以自動化打包和部署任何應用、創建一個輕量級私有PaaS雲、搭建開發測試環境、部署可擴展的Web應用等。
  • Docker實踐者不能錯過Container大會的九大理由
    Container技術已經出現了十幾年,但直到2013年Docker項目的出現,才逐漸火熱起來,廣為人知。如今,Docker擁有 超過500個代碼貢獻者,20個核心Maintainer,超過8000個創建在GitHub上的Docker相關項目,30多個國家90多個城市舉辦的超過250個Docker技術聚會,以及大於 50萬次的boot2docker下載 。