Docker常用指令,包含解释
基础学习: 深入浅出,白话文Docker入门,万字笔记.
1.入门指令:
1.1 安装或卸载Docker+Docker状态控制:
安装Docker
yum install docker-ce docker-ce-cli containerd.io
卸载Docker
systemctl stop docker
yum remove docker-ce docker-ce-cli containerd.io
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
查看Docker状态
systemctl status docker
启动Docker
systemctl start docker
停止Docker
systemctl stop docker
重启Docker
systemctl restart docker
开机启动Docker
systemctl enable docker
1.3 镜像文件操作(基础):
列出本机的所有 image 文件
docker images 或 docker image ls
拉取image文件
docker image pull 【imageName】 如:docker image pull hello-world
删除 image 文件
docker image rm 【imageName】 如: docker image rm hello-world
运行image文件(新建容器并启动)
docker run 【imageName】 如: docker run hello-world
1.4 容器操作(基础):
列出本机的容器(正在运行的)
docker ls 或 docker ps
列出所有的容器
docker ls --all
终止容器运行(直接终止)
docker kill 【containID】
终止容器运行(待容器主进程运行完毕后再终止)
docker stop 【containerID】
重启容器
docker restart【containerID】
删除已停止的容器
docker rm【containID】
删除运行中的容器
docker rm -f【containID】
启动一个已经存在的容器
docker start 【containerID】
查看容器输出
docker logs 【containerID】
进入一个容器
docker exec -it 【containerID】 /bin/bash
2.高级指令+参数详解(重要):
2.1 镜像文件操作(高级):
列出本机的所有 image 文件(含历史镜像层)
docker images -a
查找镜像,取远程仓库查看相关镜像
docker search 镜像名
如果你觉得展示出来的镜像太多了,可以使用:
docker search --limit 10 镜像名
只列出前10个
拉取镜像
docker pull 镜像名
如果要指定镜像的版本,可以使用:
docker pull 镜像名:版本号
如docker pull redis:6.0.8
2.2 容器操作(高级):
启动容器
docker run [options] 镜像名 [command][arg...]
1.options说明(常用),命令中有些是一个-号,有些是两个-号。
–name :“自定义容器名” : 为容器指定一个名称。
-d :后台运行容器并返回容器ID,也即启动守护式容器(后台运行)。
-i :以交互模式运行容器,通常与-t同时使用。
-t :为容器分配一个伪输入终端,通常与-i同时使用。例如:docker run -it ubuntu /bin/bash;
会运行一个ubuntu的操作系统容器同时打开命令行。(也就是进入了这个容器)
-p :指定端口映射。例如 -p 6379:6379;说明我去访问docker的6379端口,
而docker就会去访问自己容器内6379端口。
如果是-p 80:6379;说明我访问docker的80端口,就是访问docker内部的6379服务。
退出容器
exit或ctrl+p+q
进入容器命令行后,如果我们要退出,这里有两种方式
exit:容器会停止。
ctrl+p+q快捷键:容器不会停止。
进入一个正在运行的容器
docker exec -it 容器ID /bin/bash
或者
docker attach 容器ID
区别:使用exec进入,退出后不会导致容器终止。推荐exec方式
拷贝容器里的文件到服务器本地
docker cp 容器ID:容器内路径 目标本机路径
如 docker cp xxxxx:opt/test.txt /opt/本机.txt
导出(备份)容器
docker export 容器ID > 文件名.tar
如 docker export xxxxx > test.tar
导出后的文件会在本机服务器当前目录下
导入容器
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
如 cat test.tar | docker import - 易柏州/redis:1.0
docker commit
提交容器副本使之成为一个新的镜像
docker commit -m =描述信息 -a=作者 容器ID 要创建的目标镜像名:版本号
如 docker commit -m =“易柏州专属镜像” -a=“易柏州” xxxxxxx myImage:1.0
查看docker内应用的日志:
docker logs [OPTIONS] CONTAINER
Options:
–details 显示更多的信息
-f, --follow 跟踪实时日志
–since string 显示自某个timestamp之后的日志,或相对时间,如42m(即42分钟)
–tail string 从日志末尾显示多少行日志, 默认是all
-t, --timestamps 显示时间戳
–until string 显示自某个timestamp之前的日志,或相对时间,如42m(即42分钟)
其他常用指令
指定镜像地址(阿里云)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查看本机镜像/容器/数据卷所占空间
docker system df