首頁 > 軟體

如何在Ubuntu中安裝Docker和執行 Docker容器

2020-06-16 16:38:17

Docker是一種開源且流行的作業系統級虛擬化(俗稱“容器化”)技術,主要在Linux和Windows上執行。 Docker使用容器可以更輕鬆地建立,部署和執行應用程式。

使用容器,開發人員(和系統管理員)可以使用執行應用程式所需的一切來打包應用程式 - 程式碼,執行時,庫,環境變數和組態檔,並將它們作為一個包傳送出去。 是的,真是太好了!

在本文中,我們將向您展示如何安裝Docker CE(Community Edition),在Ubuntu發行版上建立和執行Docker容器。

在Ubuntu中安裝Docker CE(Community Edition)

1.要安裝Docker CE,首先,您需要使用以下命令從系統中刪除舊版本的Docker,稱為docker,docker.io或docker-engine。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get remove docker docker-engine docker.io containerd runc

2.接下來,您需要設定Docker儲存庫以使用以下命令從儲存庫安裝和更新Docker。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get update

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
OK
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

3.使用以下命令更新apt軟體包索引並安裝最新版本的Docker CE。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get update

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo apt-get install docker-ce docker-ce-cli containerd.io

4.成功安裝Docker CE軟體包後,該服務應自動啟動並自動啟用以在系統引導時啟動,您可以使用以下命令檢查其狀態。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo systemctl status docker
[sudo] linuxidc 的密碼:
● docker.service - Docker Application Container Engine
  Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: e
  Active: active (running) since Thu 2019-03-07 20:23:49 CST; 16min ago
    Docs: https://docs.docker.com
 Main PID: 15355 (dockerd)
    Tasks: 9
  CGroup: /system.slice/docker.service
          └─15355 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/contai

5.最後,通過執行hello-world映像驗證Docker CE是否已正確安裝。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker run hello-world
Unable to find image 'hello-world:latest' locally
latest: Pulling from library/hello-world
1b930d010525: Pull complete
Digest: sha256:2557e3c07ed1e38f26e389462d03ed943586f744621577a99efb77324b0fe535
Status: Downloaded newer image for hello-world:latest

Hello from Docker!
This message shows that your installation appears to be working correctly.

在Ubuntu中學習基本的Docker命令

6.要獲取有關Docker的資訊,請執行以下命令。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker info
Containers: 1
 Running: 0
 Paused: 0
 Stopped: 1
Images: 1
Server Version: 18.09.3
Storage Driver: overlay2
 Backing Filesystem: extfs
 Supports d_type: true
 Native Overlay Diff: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host macvlan null overlay
 Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Init Binary: docker-init
containerd version: e6b3f5632f50dbc4e9cb6288d911bf4f5e95b18e
runc version: 6635b4f0c6af3810594d2770f662f34ddc15b40d
init version: fec3683
Security Options:
 apparmor
 seccomp
  Profile: default
Kernel Version: 4.18.0-15-generic
Operating System: Ubuntu 18.04.2 LTS
OSType: linux
Architecture: x86_64
CPUs: 1
Total Memory: 2.847GiB
Name: linuxidc
ID: GOFC:PMVS:TLNX:K2UZ:4L5U:L46W:BQ5C:FVUE:7P76:XVP2:SAEZ:RAET
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): false
Registry: https://index.docker.io/v1/
Labels:
Experimental: false
Insecure Registries:
 127.0.0.0/8
Live Restore Enabled: false
Product License: Community Engine

WARNING: No swap limit support
linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$

7.要獲取有關Docker版本的資訊,請執行以下命令。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker version
Client:
 Version:          18.09.3
 API version:      1.39
 Go version:        go1.10.8
 Git commit:        774a1f4
 Built:            Thu Feb 28 06:53:11 2019
 OS/Arch:          linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.3
  API version:      1.39 (minimum version 1.12)
  Go version:      go1.10.8
  Git commit:      774a1f4
  Built:            Thu Feb 28 05:59:55 2019
  OS/Arch:          linux/amd64
  Experimental:    false

 

8.要獲取所有可用Docker命令的列表,請在終端上執行docker。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ docker

在Ubuntu中下載Docker映象

9.要執行Docker容器,首先需要從Docker Hub下載映像 - 從其儲存庫提供免費映像。

例如,要下載名為CentOS 7的Docker映象,請發出以下命令。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker search centos

10.根據您的要求確定要執行的映像後,通過執行以下命令在本地下載(在這種情況下,將下載並使用CentOS映像)。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a02a4930cb5d: Pull complete
Digest: sha256:184e5f35598e333bfa7de10d8fb1cebb5ee4df5bc0f970bf2b1e7c7345136426
Status: Downloaded newer image for centos:latest

11.要列出主機上所有可用的Docker映像,請執行以下命令。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker images
REPOSITORY          TAG                IMAGE ID            CREATED            SIZE
hello-world        latest              fce289e99eb9        2 months ago        1.84kB
centos              latest              1e1148e4cc2c        3 months ago        202MB

12.如果您不再需要Docker映象,可以使用以下命令將其刪除。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker rmi centos

在Ubuntu中執行Docker容器

13.為了建立和執行Docker容器,首先需要在下載的CentOS映像中執行命令,因此基本命令是使用cat命令檢查容器內的分發版本檔案,如圖所示。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker run centos cat /etc/issue
S
Kernel r on an m

14.要再次執行容器,首先需要通過執行以下命令來獲取Container ID或Name,該命令將顯示正在執行和已停止的容器的列表:

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker ps -l
CONTAINER ID        IMAGE              COMMAND            CREATED            STATUS                      PORTS              NAMES
fbca5da756f0        centos              "cat /etc/issue"    24 seconds ago      Exited (0) 22 seconds ago                      determined_tesla

15.獲取Container ID或Name後,可以使用以下命令啟動容器:

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker start fbca5da756f0
fbca5da756f0

或者

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker start determined_tesla
determined_tesla

這裡,字串fbca5da756f0表示容器ID,determined_tesla表示容器名稱。

16.通過指定Container ID或Name來停止正在執行的容器執行docker stop命令。

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker stop fbca5da756f0
fbca5da756f0

或者

linuxidc@linuxidc:~/www.linuxidc.com/Linux公社 -$ sudo docker stop determined_tesla
determined_tesla

17.更好的方法是,您不必記住容器ID,就是使用--name選項為您建立的每個容器定義唯一的名稱,如圖所示。

docker run --name myname centos cat /etc/issue

18.要將Linux命令連線並執行到容器中,請發出以下命令。

$ docker run -it centos bash

19.要從正在執行的容器對談中退出並返回主機,必須鍵入exit命令,如下所示。

$ exit

這就是基本的容器操作。 如果您對本文有任何問題或意見,請使用下面的留言反饋表與我們聯絡。


IT145.com E-mail:sddin#qq.com