1、安装

1、一键安装

安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

2、手动安装指定版本

k8s如果要安装较早版本时,需要指定docker的版本,准备安装k8s v1.20.1,对应安装docker v19.03.10

安装所需的软件包

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

设置安装源

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

查看版本

yum list docker-ce --showduplicates | sort -r
 
sudo yum install docker-ce-19.03.10 docker-ce-cli-19.03.10 containerd.io #安装

2、启动 Docker

systemctl start docker #启动
systemctl enable docker #开机自启动

测试是否成功

docker run hello-world

卸载 docker

删除安装包:

yum remove docker-ce

删除镜像、容器、配置文件等内容:

rm -rf /var/lib/docker

3、docker镜像示例

#启动停止的容器

docker start mydocker

#停止容器

docker stop mydocker

#删除容器(停止才可删除)

docker rm mydocker

#删除镜像

docker rmi testdockerapi:v1

#构建一个镜像,镜像名称可以为XX.XXX.XX的格式,最后一定要以"."结尾,表示当前目录

docker build -t testdockerapi:v1 .

#前面为宿主机的端口,后面为容器服务进程端口,自动重启,设置restart属性为always,防止宿主机或者docker重启后容器停止

docker run -d -p 5000:5000 --restart=always --name mydocker testdockerapi:v1

#相关命令

#docker ps 列出所有正在运行的容器

#docker stop 容器名称或ID 停止某个容器

#docker ps -a 列出所有容器(包括已停止的容器)

#docker images 列出所有镜像

#docker rm 容器名称或ID 删除某个容器

#docker rmi 镜像名称或ID 删除某个镜像

#firewall-cmd --zone=public --add-port=5899/tcp --permanent 打开防火墙的指定端口

#firewall-cmd --query-port=80/tcp 查询防火墙指定端口是否打开

#:set ff vim 打开后查看文件的格式

#:set ff=unix vim打开文件后,设置文件格式为unix

4、镜像仓库

Docker 官方(https://hub.docker.com)维护了一个公共仓库Docker Hub,也可是阿里云的。

登录

docker login -u shijiaren #默认登录docker hub
docker login --username=用户名 registry.cn-hangzhou.aliyuncs.com          #登录阿里云

然后输入账号和密码

退出

docker logout

拉取镜像

#docker hub
docker pull shijiaren/sjr:tagname #docker用户名和仓库名
 
#阿里云
docker pull registry.cn-hangzhou.aliyuncs.com/sjr/my:[镜像版本号]  #其中sjr/my是命名空间和仓库名,具体登录阿里云查看

推送镜像,把本地镜像推送到镜像仓库,可在另一台电脑拉取使用

#docker hub
docker tag [ImageId] shijiaren/sjr:tagname #打标签
docker push shijiaren/sjr:tagname #docker用户名和仓库名
 
#阿里云
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/sjr/my:[镜像版本号]  #镜像打上标签
docker push registry.cn-hangzhou.aliyuncs.com/sjr/my:[镜像版本号]

5、镜像加速

国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置国内镜像加速器。

编辑 /etc/docker/daemon.json文件,如下:

{   
    "registry-mirrors" : [     
    "https://ecqd838q.mirror.aliyuncs.com",#阿里云
    "https://registry.docker-cn.com",#Docker 官方加速器
    "https://docker.mirrors.ustc.edu.cn",#科大镜像
    "https://hub-mirror.c.163.com",#网易
    "https://reg-mirror.qiniu.com"#七牛云
    ],
    "insecure-registries" : [ "registry.docker-cn.com", "docker.mirrors.ustc.edu.cn"],#使用Systemd管理的Cgroup来进行资源控制与管理,因为相对Cgroupfs而言,Systemd限制CPU、内存等资源更加简单和成熟稳定
    "exec-opts": ["native.cgroupdriver=systemd"],#使用Systemd管理的Cgroup来进行资源控制与管理,因为相对Cgroupfs而言,Systemd限制CPU、内存等资源更加简单和成熟稳定
    "log-driver": "json-file",#日志使用json-file格式类型存储,大小为100M,保存在/var/log/containers目录下,方便ELK等日志系统收集和管理日志
    "log-opts":{
    "max-size": "100m"
    }
}

然后重启Docker

systemctl daemon-reload
systemctl restart docker

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐