1. 帮助启动类命令
- 启动docker
systemctl start docker
- 关闭docker
systemctl stop docker
- 重启docker
systemctl restart docker
- 查看docker状态
systemctl status docker
- 设置docker开启自启动
systemctl enable docker
- 查看docker信息
docker info
- docker帮助命令
docker --help
- 查看docker命令帮助文档:
docker 具体命令 --help
2. 镜像命令
1. 列出当前主机上的镜像 docker images
说明:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签版本号
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
同一仓库源可以有多个 TAG版本,代表这个仓库源的不同个版本,我们使用 REPOSITORY:TAG 来定义不同的镜像。
如果不指定一个镜像的版本标签,例如只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像
docker image -a : 列出本地所有镜像
docker image -q : 只显示镜像id
2. 查询镜像 docker search
docker search --limit 5 hello-world
: 只列出指定数量的镜像
3. 下载镜像 docker pull
docker pull 镜像名字[:TAG]
没有tag就是默认latest最新版
4. 删除镜像 docker rmi
docker rmi 镜像id
docker rmi 镜像名字
删除多个镜像 docker rmi 镜像id1 镜像id2...
删除所有镜像: docker rmi -f $(docker images -qa)
注意:如果镜像有容器启动,要么先停止容器再删除,或者加上-f选项删除 docker rmi -f 镜像id
3. 容器命令
有了镜像才能创建容器
1. 创建容器
docker run [--name] [-d] [-i] [-t] 镜像名
–name表示指定容器名称,不指定会随机分配一个名字,
-d表示在后台运行
-i表示以交互模式运行容器,通常与 -t 同时使用
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用
2. 退出容器
输入exit:退出并且容器停止
ctrl+p+q退出,容器不停止
3. 启动已停止运行的容器
docker start 容器ID或者容器名
4. 重启容器
docker restart 容器ID或者容器名
5. 停止容器
docker stop 容器ID或者容器名
6. 强制停止容器
docker kill 容器ID或者容器名
7. 删除已经停止容器
docker rm 容器ID或者容器名
删除多个: docker rm 容器ID1或者容器名1 容器ID2或者容器名2....
删除所有: docker rm -f $(docker ps -a -q)
8.后台运行与前台运行
需要后台运行的容器比如: redis
需要前台运行的容器比如: ubuntu(需要与其交互)
进入后台运行的容器方式1:
进入后台运行的容器方式2:
exec和attach的区别:
exec 是在容器中打开新的终端,并且可以启动新的进程 用exit退出,不会导致容器的停止
attach 直接进入容器启动命令的终端,不会启动新的进程 用exit退出,会导致容器的停止
一般用-d后台启动的程序,再用exec进入对应容器实例
9. 从容器内拷贝文件到主机
docker cp 容器ID:容器内路径 目的主机路径
10. 导入和导出容器
docker export 容器ID > 文件名.tar
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号