linux安装docker

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

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

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

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

设置yum源

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

在这里插入图片描述

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

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

安装docker

yum install docker-ce  #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版17.12.0

yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce

启动并加入开机启动

systemctl start docker
systemctl enable docker

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

docker version

在这里插入图片描述

问题

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

卸载旧版本的包

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

再次安装docker

yum install docker-ce

修改成国内镜像

由于国内访问直接访问docker hub网速比较慢,拉取镜像的时间就会比较长。一般我们会使用镜像加速或者直接从国内的一些平台镜像仓库上拉取。

我比较常用的是网易的镜像中心和daocloud镜像市场。
网易镜像中心:https://c.163.com/hub#/m/home/
daocloud镜像市场:https://hub.daocloud.io/

配置阿里云镜像

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

方案一
修改或新增 /etc/docker/daemon.json

vim /etc/docker/daemon.json
{
	"registry-mirrors": ["http://hub-mirror.c.163.com"]
}
systemctl restart docker.service

推荐一种删除docker的方法

yum remove docker docker-common docker-selinux docker-engine -y
/etc/systemd -name '*docker*' -exec rm -f {} ;
find /etc/systemd -name '*docker*' -exec rm -f {} \;
find /lib/systemd -name '*docker*' -exec rm -f {} \;

方案二

修改或新增 /etc/sysconfig/docker,在OPTIONS变量后追加参数 --registry-mirror=https://docker.mirrors.ustc.edu.cn

vi /etc/sysconfig/docker
OPTIONS='--selinux-enabled --log-driver=journald --registry-mirror=https://docker.mirrors.ustc.edu.cn'

载入Redis镜像

docker pull training/webapp

启动redis

docker run -d -P redis
  • -d:让容器在后台运行。
  • -P:将容器内部使用的网络端口映射到我们使用的主机上。
docker ps
PORTS 0.0.0.0:32769->5000/tcp

Docker 开放了 5000 端口映射到主机端口 32769 上。

停止所有的container

docker stop $(docker ps -a -q)

如果想要删除所有container的话再加一个指令:

docker rm $(docker ps -a -q)

查看当前有些什么images

docker images

删除images,通过image的id来指定删除谁

docker rmi <image id>

要删除全部image的话

docker rmi $(docker images -q)

想要删除untagged images,也就是那些id为的image的话可以用

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值