2021-05-12 14:32:11
如何在Ubuntu中安裝Docker和執行 Docker容器
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
這就是基本的容器操作。 如果您對本文有任何問題或意見,請使用下面的留言反饋表與我們聯絡。
相關文章