Centos7 安装docker

Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。

社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。

社区版按照stable和edge两种方式发布,每个季度更新stable版本,如17.06,17.09;每个月份更新edge版本,如17.09,17.10。

 一、安装docker

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本

 $ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ sudo yum update

3、卸载旧版本(如果安装过旧版本的话)

$ sudo yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

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

5、设置yum源

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

 

6、可以查看所有仓库中所有docker版本,并选择特定版本安装

$ yum list docker-ce --showduplicates | sort -r

7、安装docker

$ sudo yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0
$ sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce

 

8、启动并加入开机启动

$ sudo systemctl start docker
$ sudo systemctl enable docker

9、验证安装是否成功(有client和service两部分表示docker安装启动都成功了)

$ docker version

 二、问题

1、因为之前已经安装过旧版本的docker,在安装的时候报错如下:

Transaction check error:
  file /usr/bin/docker from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/docker-containerd-shim from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64
  file /usr/bin/dockerd from install of docker-ce-17.12.0.ce-1.el7.centos.x86_64 conflicts with file from package docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

2、卸载旧版本的包

$ sudo yum erase docker-common-2:1.12.6-68.gitec8512b.el7.centos.x86_64

3、再次安装docker

$ sudo yum install docker-ce

docker实用命令:

启动Docker

sudo service docker start

Docker版本

sudo docker version

登录Docker

sudo docker login

拉取远程仓库镜像

sudo docker pull letwang/hookphp:latest

打tag

sudo docker tag letwang/hookphp:latest letwang/hookphp:latest

当前容器提交到指定镜像

sudo docker commit -m=HookPHP -a=letwang 5c4e0f507097 letwang/hookphp:latest

把上述本地镜像推送到远程镜像仓库

sudo docker push letwang/hookphp:latest

查看本地镜像仓库

sudo docker images

查看镜像历史

sudo docker history letwang/hookphp:latest

删除本地镜像仓库

sudo docker rmi -f letwang/hookphp:latest

查看本地容器

sudo docker ps -a

启动本地容器

sudo docker start 5c4e0f507097

进入本地容器

sudo docker exec -it 5c4e0f507097 bash

进入容器后,这里是标准的Ubuntu 18.04系统,你可以像进入普通服务器一样使用,也可以继续改动,然后根据本文档 封装自己想要的镜像并提交远程,多平台随意移植。

退出本地容器

exit

删除本地容器

sudo docker rm -f 5c4e0f507097

运行镜像生成容器

sudo docker run -itd letwang/hookphp:latest /bin/bash

导出容器到文件

docker export 5c4e0f507097 > hookphp.tar

导入文件到容器:镜像瘦身 保留最新版

sudo cat hookphp.tar | sudo docker import - letwang/hookphp:latest

复制容器文件到本地

sudo docker cp 337ac1bf4b84:/var/log/ ~/
原文地址:https://www.cnblogs.com/-mrl/p/11918107.html