当前位置:文档之家› docker基础安装使用

docker基础安装使用

docker基础安装使用
docker基础安装使用

Docker基础安装使用

2020-02-22

作者:刘子毅

创建yum源

[root@bogon ~]#

[root@bogon ~]# yum-config-manager --add-repo https://https://www.doczj.com/doc/2716385502.html,/linux/centos/docker-ce.repo

Loaded plugins: fastestmirror, langpacks

adding repo from: https://https://www.doczj.com/doc/2716385502.html,/linux/centos/docker-ce.repo

grabbing file https://https://www.doczj.com/doc/2716385502.html,/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo

Could not fetch/save url https://https://www.doczj.com/doc/2716385502.html,/linux/centos/docker-ce.repo to file /etc/yum.repos.d/docker-ce.repo: [Errno 14] curl#7 - "Failed connect to https://www.doczj.com/doc/2716385502.html,:443; Operation now in progress"

[root@bogon ~]#

[root@bogon ~]#

链接无法解析改为使用阿里的yum源,操作如下:

[root@bogon ~]# yum-config-manager --add-repo https://www.doczj.com/doc/2716385502.html,/docker-ce/linux/centos/docker-ce.repo

Loaded plugins: fastestmirror, langpacks

adding repo from: https://www.doczj.com/doc/2716385502.html,/docker-ce/linux/centos/docker-ce.repo

grabbing file https://www.doczj.com/doc/2716385502.html,/docker-ce/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo

repo saved to /etc/yum.repos.d/docker-ce.repo

安装最新的docker

[root@bogon ~]#

[root@bogon ~]# yum install docker-ce

Loaded plugins: fastestmirror, langpacks

Existing lock /var/run/yum.pid: another copy is running as pid 9034.

Another app is currently holding the yum lock; waiting for it to exit...

The other application is: PackageKit

Memory : 119 M RSS (1.0 GB VSZ)

Started: Fri Feb 21 19:28:47 2020 - 07:27 ago

State : Sleeping, pid: 9034

Another app is currently holding the yum lock; waiting for it to exit...

The other application is: PackageKit

Memory : 119 M RSS (1.0 GB VSZ)

Started: Fri Feb 21 19:28:47 2020 - 07:29 ago

State : Sleeping, pid: 9034

Another app is currently holding the yum lock; waiting for it to exit...

The other application is: PackageKit

Memory : 119 M RSS (1.0 GB VSZ)

Started: Fri Feb 21 19:28:47 2020 - 08:12 ago

State : Sleeping, pid: 9034

^C

Exiting on user cancel.

此处发下yum被进程号为9034占用,直接kill

[root@bogon ~]# ps aux | grep yum

root 9034 2.5 12.2 1041184 121668 ? SN 19:28 0:13 /usr/bin/python /usr/share/PackageKit/helpers/yum/yumBackend.py get-updates none

root 10322 0.0 0.0 112708 976 pts/0 S+ 19:37 0:00 grep --color=auto yum

[root@bogon ~]# kill -9 9034

[root@bogon ~]# ps aux | grep yum

root 10338 0.0 0.0 112708 976 pts/0 R+ 19:37 0:00 grep --color=auto yum

[root@bogon ~]#

[root@bogon ~]#

[root@bogon ~]#

[root@bogon ~]#

重新安装docker,如下:

[root@bogon ~]# yum install docker-ce

BDB2053 Freeing read locks for locker 0x9ba: 9034/140061293627200

BDB2053 Freeing read locks for locker 0x9bc: 9034/140061293627200

Loaded plugins: fastestmirror, langpacks

Loading mirror speeds from cached hostfile

* base: https://www.doczj.com/doc/2716385502.html,

* extras: https://www.doczj.com/doc/2716385502.html,

* updates: https://www.doczj.com/doc/2716385502.html,

docker-ce-stable

| 3.5 kB 00:00:00

(1/2): docker-ce-stable/x86_64/primary_db | 38 kB 00:00:00

(2/2): docker-ce-stable/x86_64/updateinfo | 55 B 00:00:00

Resolving Dependencies

--> Running transaction check

---> Package docker-ce.x86_64 3:19.03.6-3.el7 will be installed

--> Processing Dependency: container-selinux >= 2:2.74 for package: 3:docker-ce-19.03.6-3.el7.x86_64

--> Processing Dependency: containerd.io >= 1.2.2-3 for package: 3:docker-ce-19.03.6-3.el7.x86_64

--> Processing Dependency: docker-ce-cli for package: 3:docker-ce-19.03.6-3.el7.x86_64

--> Running transaction check

---> Package container-selinux.noarch 2:2.107-3.el7 will be installed

---> Package containerd.io.x86_64 0:1.2.10-3.2.el7 will be installed

---> Package docker-ce-cli.x86_64 1:19.03.6-3.el7 will be installed

--> Finished Dependency Resolution

Dependencies Resolved

=============================================================================== =============================================================

Package Arch Version Repository Size

=============================================================================== =============================================================

Installing:

docker-ce x86_64 3:19.03.6-3.el7 docker-ce-stable 24 M

Installing for dependencies:

container-selinux noarch 2:2.107-3.el7 extras 39 k

containerd.io x86_64 1.2.10-3.2.el7 docker-ce-stable 23 M

docker-ce-cli x86_64 1:19.03.6-3.el7 docker-ce-stable 40 M

Transaction Summary

=============================================================================== =============================================================

Install 1 Package (+3 Dependent packages)

Total download size: 87 M

Installed size: 363 M

Is this ok [y/d/N]: y

Downloading packages:

warning:

/var/cache/yum/x86_64/7/docker-ce-stable/packages/docker-ce-19.03.6-3.el7.x86_64.rpm: Header V4 RSA/SHA512 Signature, key ID 621e9f35: NOKEY ] 1.3 MB/s | 39 MB 00:00:36 ETA

Public key for docker-ce-19.03.6-3.el7.x86_64.rpm is not installed

(1/4): docker-ce-19.03.6-3.el7.x86_64.rpm | 24 MB 00:00:36

warning: /var/cache/yum/x86_64/7/extras/packages/container-selinux-2.107-3.el7.noarch.rpm: Header V3 RSA/SHA256 Signature, key ID f4a80eb5: NOKEY ] 1.3 MB/s | 45 MB 00:00:32 ETA

Public key for container-selinux-2.107-3.el7.noarch.rpm is not installed

(2/4): container-selinux-2.107-3.el7.noarch.rpm | 39 kB 00:00:41

(3/4): containerd.io-1.2.10-3.2.el7.x86_64.rpm | 23 MB 00:01:01

(4/4): docker-ce-cli-19.03.6-3.el7.x86_64.rpm | 40 MB 00:00:42

---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Total

1.1 MB/s | 87 MB 00:01:19

Retrieving key from https://https://www.doczj.com/doc/2716385502.html,/docker-ce/linux/centos/gpg

Importing GPG key 0x621E9F35:

Userid : "Docker Release (CE rpm) "

Fingerprint: 060a 61c5 1b55 8a7f 742b 77aa c52f eb6b 621e 9f35

From : https://https://www.doczj.com/doc/2716385502.html,/docker-ce/linux/centos/gpg

Is this ok [y/N]: y

Retrieving key from file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Importing GPG key 0xF4A80EB5:

Userid : "CentOS-7 Key (CentOS 7 Official Signing Key) " Fingerprint: 6341 ab27 53d7 8a78 a7c2 7bb1 24c6 a8a7 f4a8 0eb5

Package : centos-release-7-6.1810.2.el7.centos.x86_64 (@anaconda)

From : /etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

Is this ok [y/N]: y

Running transaction check

Running transaction test

Transaction test succeeded

Running transaction

Installing : 2:container-selinux-2.107-3.el7.noarch 1/4

Installing : containerd.io-1.2.10-3.2.el7.x86_64 2/4

Installing : 1:docker-ce-cli-19.03.6-3.el7.x86_64 3/4

Installing : 3:docker-ce-19.03.6-3.el7.x86_64 4/4

Verifying : 3:docker-ce-19.03.6-3.el7.x86_64 1/4

Verifying : 1:docker-ce-cli-19.03.6-3.el7.x86_64 2/4

Verifying : containerd.io-1.2.10-3.2.el7.x86_64 3/4

Verifying : 2:container-selinux-2.107-3.el7.noarch 4/4

Installed:

docker-ce.x86_64 3:19.03.6-3.el7

Dependency Installed:

container-selinux.noarch 2:2.107-3.el7 containerd.io.x86_64 0:1.2.10-3.2.el7 docker-ce-cli.x86_64 1:19.03.6-3.el7

Complete!

安装成功,启动docker进程:

[root@bogon ~]#

[root@bogon ~]# systemctl start docker

[root@bogon ~]# systemctl enable docker

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.

[root@bogon ~]#

查看docker状态

[root@bogon ~]# systemctl status docker

●docker.service - Docker Application Container Engine

Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2020-02-21 19:42:29 PST; 22s ago

Docs: https://https://www.doczj.com/doc/2716385502.html,

Main PID: 10553 (dockerd)

CGroup: /system.slice/docker.service

└─10553 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock

Feb 21 19:42:27 docker dockerd[10553]: time="2020-02-21T19:42:27.535045863-08:00" level=info msg="scheme \"unix\" not registered, fallback to default scheme" module=grpc

Feb 21 19:42:27 docker dockerd[10553]: time="2020-02-21T19:42:27.535081253-08:00" level=info msg="ccResolverWrapper: sending update to cc: {[{unix:///run/containerd/container... module=grpc

Feb 21 19:42:27 docker dockerd[10553]: time="2020-02-21T19:42:27.535107105-08:00" level=info msg="ClientConn switching balancer to \"pick_first\"" module=grpc

Feb 21 19:42:27 docker dockerd[10553]: time="2020-02-21T19:42:27.635007791-08:00" level=info msg="Loading containers: start."

Feb 21 19:42:28 docker dockerd[10553]: time="2020-02-21T19:42:28.354209593-08:00" level=info msg="Default bridge (docker0) is assigned with an IP address 172.17.0.0/16. Daemo... IP address"

Feb 21 19:42:29 docker dockerd[10553]: time="2020-02-21T19:42:29.097833464-08:00" level=info msg="Loading containers: done."

Feb 21 19:42:29 docker dockerd[10553]: time="2020-02-21T19:42:29.182055014-08:00" level=info msg="Docker daemon" commit=369ce74a3c graphdriver(s)=overlay2 version=19.03.6 Feb 21 19:42:29 docker dockerd[10553]: time="2020-02-21T19:42:29.182193961-08:00" level=info msg="Daemon has completed initialization"

Feb 21 19:42:29 docker systemd[1]: Started Docker Application Container Engine.

Feb 21 19:42:29 docker dockerd[10553]: time="2020-02-21T19:42:29.258868440-08:00" level=info msg="API listen on /var/run/docker.sock"

Hint: Some lines were ellipsized, use -l to show in full.

[root@bogon ~]#

创建名为konggu的容器,并使用httpd的镜像源:

[root@bogon ~]# docker create --name konggu httpd

Unable to find image 'httpd:latest' locally

latest: Pulling from library/httpd

bc51dd8edc1b: Pull complete

dca5bc65e18f: Pull complete

ccac3445152a: Pull complete

8515f2015fbc: Pull complete

e35494488b8c: Pull complete

Digest: sha256:b783a610e75380aa152dd855a18368ea2f3becb5129d0541e2ec8b662cbd8afb Status: Downloaded newer image for httpd:latest

7a694fe59d001ea5b132de17e8bf3e0a1400853acab2a16b1da2507a3ceb3aa4

查看容器状态

[root@bogon ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

7a694fe59d00 httpd "httpd-foreground" 48 seconds ago Created konggu

启动容器:

[root@bogon ~]# docker start konggu

konggu

再次查看状态

[root@bogon ~]# docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

7a694fe59d00 httpd "httpd-foreground" About a minute ago Up 2 seconds 80/tcp konggu

[root@bogon ~]# docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

7a694fe59d00 httpd "httpd-foreground" 2 minutes ago Up 49 seconds 80/tcp konggu

进入容器:

[root@bogon ~]# docker exec -it konggu bash

root@7a694fe59d00:/usr/local/apache2#

root@7a694fe59d00:/usr/local/apache2#

root@7a694fe59d00:/usr/local/apache2#

root@7a694fe59d00:/usr/local/apache2# ls

bin build cgi-bin conf error htdocs icons include logs modules

[root@bogon ~]# docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

7a694fe59d00 httpd "httpd-foreground" 7 minutes ago Up 5 minutes 80/tcp konggu

删除容器

[root@bogon ~]# docker stop konggu

konggu

[root@bogon ~]# docker rm konggu

konggu

[root@bogon ~]# docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

重新创建带端口号的容器

[root@bogon ~]# docker run --name konggu -d -p 8080:80 httpd

19f0c0b40353114a639fd02f3d808f8b142c714ccec24f9cf14f5cb66af02409

[root@bogon ~]# docker container ls

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

19f0c0b40353 httpd "httpd-foreground" 12 seconds ago Up 10 seconds 0.0.0.0:8080->80/tcp konggu

[root@bogon ~]# docker exec -it konggu bash

root@19f0c0b40353:/usr/local/apache2#

root@19f0c0b40353:/usr/local/apache2# cd htdocs/

root@19f0c0b40353:/usr/local/apache2/htdocs# ls

index.html

root@19f0c0b40353:/usr/local/apache2/htdocs# echo "konggu" > index.html root@19f0c0b40353:/usr/local/apache2/htdocs#

成功修改了web内容,实验成功。

Docker容器技术与微服务解决方案

Docker容器技术与微服务解决方案

目录 一、前言 (3) 二、容器技术简介 (3) 三、Docker 简介 (4) 四、Docker 的组成 (6) 五、Docker 的实现 (8) 六、Docker 的生态圈 (15) 七、总结 (16)

一、前言 Docker 是最近在云计算领域出现的新技术。目前,Docker 和以其为代表的容器技术的热度已经改过了之前的OpenStack。Docker 以及其所代表的容器技术的流行,即使因为软件技术的进步,更是由于其符合云计算对软件领域所带来新思想。在如今的互联网和企业应用开发领域,微服务和DevOps 是两个思想颇为深入人心。而Docker 技术的出现和其对整个容器技术及其生态圈发展的促进,解决了这个微服务和DevOps 这两个思想实践中的很多难题,使得前面两种思想大规模地实现成为了可能。所以,我们有必要地深入了解一下Docker 这个技术,看看它会对云计算时代的软件开发产生什么样的影响。 本文将介绍如下内容 1.什么是容器技术 2.什么是Docker 3.Docker 是如何实现的 4.为什么要使用Docker 至于Docker 的用法,不在这里做介绍。Docker 的入门使用,可以前往Docker 官网。各种高级用法、技巧、经验,可以前往技术网站CSDN、InfoQ 和CoreOS、Centurylink Labs 等这些使用Docker 的云计算厂商的网站。 二、容器技术简介 容器技术有时会被称为轻量化虚拟技术。但不同于基于Hypervisor 的传统虚拟化技术,容器技术并不会虚拟硬件。容器本身和容器内的进程都是运行在宿主Linux 系统的内核之

《Docker技术集群与应用》课程测试试卷-2

《Docker技术集群与应用》课程测试试卷说明:本试卷由选择题和简答题两部分组成,满分100分。 一、选择题 说明:共30题,每题2分,共计60分。 针对以下题目,请选择最符合题目要求的答案。针对每一道题目,所有答案都选对,则该题得分,所选答案错误或不能选出所有答案,则该题不得分。 1.下列关于Docker核心概念的说法错误的是()。 A.Docker镜像是创建容器的基础,是Docker容器的只读模板 B.Docker容器可以看作是一个简易版的Linux环境,用来运行和隔离应用 C.Docker仓库是集中保存镜像的地方,可使用push命令上传自己的镜像 D.Docker容器是从镜像创建的运行实例,容器创建后容器之间可以相互可见 2.下列()属于安装Docker时所需要的依赖软件包。 A.yum-utils B. device-mapper-devel C. lvm2 D. python-docker 3.对于Docker镜像的描述错误的是()。 A.镜像文件是由若干层组成,是实现增量保存和更新的基础 B.用户从私有仓库下载镜像时,需要在仓库名称前指定完整的注册服务器地址 C.可以通过命令docker info 0b8d572d1c7d(镜像ID)查看镜像详细信息

D.可以使用docker tag命令为本地镜像添加新的标签 4.本地有一镜像httpd:new,其ID为2d1935fb3ka0,下列可成功删除该镜像的命令是 ()。 A.docker rm httpd:new B.docker rmi httpd:new C.docker rm 2d1935fb3ka0 D.docker image rm 2d1935fb3ka0 5.Docker镜像命令docker images执行后,结果内不包括的列是()。 A.C REATED B.T IME C.S IZE D.TAG 6.下列关于Docker容器说法正确的是()。 A.通过Dockerfile构建的镜像,由这些镜像启动的容器内应用都是在后台运行的 B.可以通过命令docker exec –it 容器ID /bin/bash 来进入容器内部 C.可以使用docker rm 容器ID 命令来删除一个正在运行中的容器 D.Docker的默认存储目录在/var/lib/docker 7.下列()命令执行后可以查看镜像ID为0b8d572d1c7d的详细信息。

相关主题
文本预览
相关文档 最新文档