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

这就是基本的容器操作。 如果您对本文有任何问题或意见,请使用下面的留言与我们联系。

Linux公社的RSS地址:https://www.linuxidc.com/rssFeed.aspx

本文永久更新链接地址:https://www.linuxidc.com/Linux/2019-03/157339.htm

看了本文就点下在看↓↓↓

abp 打包部署到ubuntu_如何在Ubuntu中安装Docker和运行 Docker容器相关推荐

  1. unbantu上python安装步骤_如何在Ubuntu中安装Python 3.6?

    Python是增长最快的主要通用编程语言.原因有很多,比如它的可读性和灵活性,易于学习和使用,可靠和高效. 有两个主要的Python版本被使用- 2和3 (Python的现在和未来);前者将看不到新的 ...

  2. linux动画制作软件,如何在Ubuntu中安装2D动画软件OpenToonz

    OpenToonz,开源2D动画软件,现在可以通过Snap软件包轻松安装在Ubuntu 16.04,Ubuntu 18.04及更高版本中. OpenToonz基于Toonz Studio Ghibli ...

  3. ubuntu安装zlib库_如何在Ubuntu中安装zlib库?

    ubuntu安装zlib库 On Ubuntu (18.04), installing zlib reported unable to locate package zlib: 在Ubuntu(18. ...

  4. 如何在Ubuntu中安装PHP

    今天,我将向您展示如何在Ubuntu OS中安装PHP. 首先,我将向您展示如何安装默认的稳定版本的PHP,然后将向您展示如何安装其他版本的PHP. PHP是一种服务器端脚本语言,主要用于构建Web应 ...

  5. ubuntu合并终端_如何在Ubuntu中安装多个终端以及更改默认终端

    终端是任何Linux系统的关键部分.它允许您通过shell访问Linux系统.虽说现在的Linux发行版,比如Ubuntu,CentOS等已经基本上可以采用GUI来完成绝大部分一般性的任务.但是,终端 ...

  6. ubuntu系统下ftp服务器配置,如何在Ubuntu中安装和配置FTP服务器

    FTP ( 文件传输协议 )是一种相对较旧和最常用的标准网络协议,用于通过网络在两台计算机之间上传/下载文件. 然而, FTP由其原始的不安全,因为它传输数据与用户凭证(用户名和密码)而不加密. 警告 ...

  7. 如何在 Ubuntu 中安装和删除软件

    文章目录 1.Ubuntu Software 1.1.使用Ubuntu软件中心安装软件[推荐] 1.2.使用Ubuntu软件中心删除软件[推荐] 2..deb 文件 2.1.使用 .deb 文件在 U ...

  8. abp 打包部署到ubuntu_如何通过宝塔运维面板进行部署?

    请配合视频观看- 快速导航 [宝塔简介](#btjj) [环境准备](#hjzb) [面板安装](#mbaz) [环境配置](#hjpz) [参数设置](#cssz) 什么是宝塔面板? 简介 宝塔面板 ...

  9. ubuntu安装linux deepin,如何在Ubuntu中安装Deepin终端 | MOS86

    Deepin终端是一个基于python的终端仿真器,专为中国Linux发行版开发,名为"Deepin"."它有许多有用的功能,其中一些,如"地震模式" ...

最新文章

  1. Oracle 基础教程
  2. java 80端口_Java80端口占用异常解决方法
  3. 8. An Introduction to MCMC for Machine Learning (4)
  4. 1.5 try catch语句详解
  5. strstr和memcmp函数的实现
  6. P3033 [USACO11NOV]牛的障碍Cow Steeplechase
  7. C 语言中可以调用命令行指令的 system()函数
  8. 一个技术人员必须考虑的问题:转型
  9. Android 系统(238)---查看日志
  10. IntelliJ IDEA 配置Tomcat 运行Web项目
  11. 洛谷 P3396 哈希冲突 解题报告
  12. Visual Studio 要求导入 pfx 密钥以及导入后依然要求导入的解决办法
  13. css学习笔记(一)
  14. mysql是如何设置候选码_求关系模式中的候选键(软考,数据库)
  15. Python 分位数回归
  16. Merlin——零知识证明(1)理论篇
  17. Scrum板与Kanban如何抉择?nzhfnupjr板与按照rrwpjf
  18. 美国贷款买饭的房屋保险
  19. Java中求珠穆朗玛峰问题
  20. 地磅无人值守称重系统怎样实现自动发货的?

热门文章

  1. Git根据文件名字查询修改文件内容
  2. 反思走火入魔 急功近利:一步一步的做 一步一步的走 顺其自然 水到渠成
  3. 蓝牙驱动卸载后自动安装_智能产品 | 安装水循环系统后,全自动洗车机洗车会更节水吗?...
  4. apizza接口文档传二维数组
  5. mysql oracle mvcc_PostgreSQL、Oracle/MySQL和SQL Server的MVCC实现原理方式
  6. php计算时间顺延3分,PHP关于strtotime函数的大坑
  7. java hashcode返回值_Java String hashCode() 使用方法及示例
  8. python模拟qq空间登录_模拟登录QQ空间
  9. python中map函数字典映射_python Chainmap函数(19)
  10. 【mysql】SCOPE_IDENTITY 和 @@IDENTITY的区别