知识背景

官方文档:https://docs.docker.com/engine/installation/

docker分为社区版(CE)和企业版(EE),他们最大的区别就是:社区版是开源免费的,企业版是收费的。
对于想要学习docker容器、或者小型开发团队来说,首选Docker社区版.

1.卸载掉老版本的Docker容器

yum remove docker  docker-common   docker-selinux    docker-engine

2.有三种Docker CE安装方法

a.使用docker镜像,便于安装和升级,推荐使用这种方法

b.下载Docker的rpm包来安装,很有可能遇到依赖包问题

c.在测试和开发环境,可以选择自动化脚本安装Docker

3.使用镜像仓库安装

a.如果首次安装Dcoker CE ,需要设置Docker安装源

yum install -y yum-utils device-mapper-persistent-data lvm2

说明:数据持久化设备和lvm2需要映射器所需的驱动程序支持

b.执行下面的命令设置稳定的镜像源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

4.安装Docker CE

yum install -y  docker-ce

5.如果你是在生产环境安装Docker,需要指定相应的版本来安装,而不是安装最新的Docker

使用下面命令可列出现镜像仓库中Docker镜像版本,并使用sort工具对Docker版本从高到低进行一个排序

[root@docker ~]# yum list docker-ce --showduplicates | sort -r
Loading mirror speeds from cached hostfile
Loaded plugins: fastestmirror, langpacks
Installed Packages
* epel: mirror.lzu.edu.cn
docker-ce.x86_64            17.12.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.12.0.ce-1.el7.centos            @docker-ce-stable
docker-ce.x86_64            17.09.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.09.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.2.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.06.0.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.2.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
Available Packages

说明:指定安装Docker版本时,举个列子,使用下面命令安装

yum install <FULLY-QUALIFIED-PACKAGE-NAME>

6.设置Docker开机启动

systemctl enable docker.service

systemctl start docker.service

7.验证docker是否安装成功安装,如果返回如下信息,表示docker安装成功

第四篇:Docker安装并启动一个http容器

8.在docker容器安装httpd服务,并把宿主机的80端口映射给httpd的80端口

[root@docker ~]# docker run -d -p 80:80 httpd
Unable to find image 'httpd:latest' locally
latest: Pulling from library/httpd
f49cf87b52c1: Pull complete
02ca099fb6cd: Pull complete
de7acb18da57: Pull complete
770c8edb393d: Pull complete
0e252730aeae: Pull complete
6288e83d58fa: Pull complete
a91ad03b2178: Pull complete
Digest: sha256:643ca2ed9f6caf1f392184aee05a8f2cd478bdacbd350ea6b4dbc8f5b8e400a8
Status: Downloaded newer image for httpd:latest
0747f02bb2304ef964ed153e6e81f3f083965f95f12ad9a70c95b7f329243a2c
docker: Error response from daemon: driver failed programming external connectivity on endpoint mystifying_jennings (8644011e3dab6725c314f6e634444ca6b6cfe3792d6f504a12af2e065d4c448f): Error starting userland proxy: listen tcp 0.0.0.0:80: bind: address already in use.

安装后在web页面输入宿主机地址访问http容器

第四篇:Docker安装并启动一个http容器