本文介绍基于linux的docker基本操作
- 设置docker 开启自启动
systemctl enable docker
- 启动docker
systemctl start docker
- docker重启
systemctl restart docker
- 查看docker简洁信息
docker version
- 查看docker 详细信息
docker info
- 删除docker安装包
sudo yum remove docker-ce
- 删除docker镜像
sudo rm -rf /var/lib/docker
- docker 脚本指定镜像安装
#指定阿里云镜像安装
sudo sh get-docker.sh --mirror Aliyun
- 运行镜像
docker run hello-world
CentOS 配置镜像加速器
1)Docker 官方中国区 https://registry.docker-cn.com
2)网易 http://hub-mirror.c.163.com
3)腾讯 https://mirror.ccs.tencentyun.com
4)阿里 https://eqcxmbvw.mirror.aliyuncs.com
对于systemd系统,在/etc/docker/daemon.json加入以下内容
{
"registry-mirrors":[
"http://hub-mirror.c.163.com",
"https://mirror.ccs.tencentyun.com",
"https://eqcxmbvw.mirror.aliyuncs.com"
]
}
- 重新启动服务生效
sudo systemctl daemon-reload
sudo systemctl restart docker
- 查看是否生效
dockekr info
删除镜像
删除镜像前需先删除容器
- 查看所有容器
docker ps -a
- 删除容器
docker rm -f 容器id
- 查看所有镜像
docker images
- 删除镜像
docker image rmi 镜像name
Docker 镜像操作
- 获取镜像
docker pull [选项][docker registry 地址[:端口号]/]仓库名[:标签]
具体可以通过docker pull --help查看
docker pull ubuntu:16.07
- 运行镜像
以ubuntu为例,启动ubuntu里的bash并进行交互式操作
docker run -it --rm ubuntu:16.07 bash
补充:
- -it 两个参数, -i:交互操作,-t:终端
- –rm:容器退出后将其删除
- ubuntu:16.07 用ubuntu镜像为基础来启动容器
- bash (镜像后面的是命令)
- exit 退出容器
镜像
- 列出镜像信息
docker image ls
- 查看镜像、容器、数据卷所占用的空间
docker system df
- 仓库名、标签均为的镜像成为虚悬镜像(dangling image),查看虚悬镜像
docker image ls -f dangling=true
- 删除虚悬指令
docker image prune
- 删除本地镜像
docker image rm [选项][镜像1][镜像2]...
docker image rm hello-world
- 批量删除指定仓库名的镜像,如下删除所有仓库名为redis的镜像
docker image rm ${docker image ls -q redis}
补充:
- -q后面没有参数 表示删除所有镜像
- 删除指定镜像版本前的镜像
docker image rm ${docker image ls -q -f before=ubuntu:16.07}
启动容器
- 启动
docker container start或 docker start
- 后台运行 -d
docker run -d 命令
如:docker run -d hello-world 不会打出日志,自会打出容器id
补充:容器是否运行长久,与docker run有关,与-d无关
- 停止运行容器
docker contain stop 容器id
- 进入容器
docker exec -it 容器id \bin\bash
- 导出容器
docker export 容器id>导出文件名.tar
- 导入容器
cat 导出文件名.tar |docker import - 镜像用户/镜像名:镜像版本
或者通过url
docker import http://aliyun/image.tgz 镜像用户/镜像名
- 删除容器
#删除处于终止的容器
docker container rm 容器id
#处于运行的容器
docker container rm -f 容器id
- 批量清楚已经终止的容器
docker container prune