目录
1. 便捷方式
这个方式是参考CentOS安装docker官方文档和Ubuntu安装docker官方文档
a.配置
mkdir /etc/docker && \
# 使用国内镜像加速器
echo '{
"registry-mirrors" : ["https://mj9kvemk.mirror.aliyuncs.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://registry.docker-cn.com"],
"exec-opts": [ "native.cgroupdriver=systemd" ]
}' > /etc/docker/daemon.json
b.安装
# 下载安装脚本
curl -fsSL https://get.docker.com -o get-docker.sh && \
# 指定版本,不要装新版,Kubernetes推荐的是19.03
VERSION=19.03 sh ./get-docker.sh --mirror Aliyun
c.卸载
ubuntu
apt-get purge docker-ce docker-ce-cli containerd.io docker-compose-plugin && \
rm -rf /var/lib/docker && rm -rf /var/lib/containerd
d.停止升级
如果执行apt upgrade会将docker版本升级到20,而这不是我们想要的,所以我们要阻止这件事情:
# apt-mark hold docker-ce docker-ce-cli
docker-ce set on hold.
docker-ce-cli set on hold.
然后我们再执行升级指令,可看到已经不再升级
# apt upgrade
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
linux-headers-5.4.0-42 linux-headers-5.4.0-42-generic linux-image-5.4.0-42-generic linux-modules-5.4.0-42-generic
linux-modules-extra-5.4.0-42-generic
Use 'apt autoremove' to remove them.
The following packages have been kept back:
docker-ce docker-ce-cli
0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.
2.复杂方式
1,先用 yum update更新下,我这里报python的错,我没管他
2,首先安装docker,在cli下用su执行
yum install -y docker
(按照网上的说法要先安装epel,但是我的已经安装了)
wget http://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
顺便说一下名字是docker还是docker-engine不停的在变
3,启动docker
systemctl start docker
如果是把docker做成服务则执行systemctl enable docker
4,检查
docker info
可以看到一堆的信息
5,使用加速器
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://d669dcee.m.daocloud.io
按照提示执行
systemctl restart docker
6,执行docker run hello-world说明docker可以了
tips:
如果想进入一个后台启动的docker
docker exec -it db3 /bin/sh 或者 docker exec -it d48b21a7e439 /bin/sh
启动postgresql
docker run --name yourappname -e POSTGRES_PASSWORD=xxx -e POSTGRES_USER=xxx\
-v ./data:/var/lib/postgresql/data/pgdata -d -p xxxx:5432 postgres
关闭docker 容器 docker stop
进入docker shell docker exec -it “容器ID” bash