启动命令
- 启动 docker:systemctl start docker
- 停止 docker:systemctl stop docker
- 重启 docker:systemctl restart docker
- 开机启动 docker:systemctl enable docker
- 查看 docker 状态:systemctl status docker
- 查看 docker 概要信息:docker info
- 查看 docker 帮助文档:docker --help
镜像命令
name 表示镜像的名字、nameId:镜像ID、Tag:具体版本号
- 列出本地主机上的镜像:docker images
- 搜索远程仓库的某个镜像:docker search name
- 拉取某个镜像:docker pull name[:Tag]
- 查看镜像、容器、数据卷所占的空间:docker system df
- 删除[强制]镜像:docker rmi [-f] nameId
- 提交新的镜像:docker commit -m="提交的描述信息" -a="作者" 容器ID 创建的目标镜像名:[标签名]
容器命令
- images: 表示镜像名称、ID:表示容器ID、name:表示容器名字
docker 容器
-
查看正在运行[历史]的 docker 容器:docker ps [-a]
-
运行 docker 容器:docker run [options] images
options:
- --name=: 为容器指定一个名字
- -d:后台运行容器并返回容器ID
- -it:启动交互式容器(前台有伪终端、等待交互)
- -p:指定端口映射 [6739:6739 主机端口:容器实例端口]
- -P:随机端口映射
-
启动已经停止运行的容器:docker start ID/name
-
重启容器:docker restart ID/name
-
停止容器: docker stop ID/name
-
强制停止容器:docker kill ID/name
-
删除[强制]容器:docker rm [-f] ID/name
-
退出容器:
- exit:在容器中 exit退出,容器停止
- ctrl + p + q:在容器中,ctrl + p + q退出,容器不会停止
-
进入容器:
-
docker exec -it[-d] ID bash: 重新进入交互式容器、后台运行容器(常用)
-
docker attach ID bash
-
attach 直接进入容器启动命令的终端,不会启动新的进程用exit退出会导致容器停止;而exec是在容器中打开新的终端,并且可以启动新的进程用exit退出不会导致容器的停止
-
docker 容器内
- 查看容器内日志:docker logs ID
- 查看容器内运行的进程:docker top ID
- 查看容器内部细节:docker inspect ID
- 从容器内拷贝文件到主机上:docker cp ID:容器内路径 目的主机路径
- 从tar包中的内容创建一个新的文件系统再导入为镜像:cat 文件名.tar | docker import - 镜像用户/镜像名: 镜像版本号
- 导出容器内容留作为一个tar归档文件:docker export ID > 文件名.tar
问题
- docker run -d Ubuntu;由于 docker机制,容器后台运行,必须要有一个前台进程,否则就会自动退出。所以一般使用 Ubuntu 则使用交互式容器 docker run -it ubuntu;
- 使用 redis 则直接 docker run -d redis 就可以