一、docker基础命令
1.启动docker
systemctl start docker
2.停止docker
systemctl stop docker
3.重启docker
systemctl restart docker
4.设置开机启动docker
systemctl enable docker
5.查看docker概要信息
docker info
6.查看docker帮助文档
docker --help
7.查看docker版本信息
docker version
二、docker镜像命令
1.列出本机所有镜像
docker images
2.搜索镜像
docker search 镜像名称
3.下载镜像
docker pull 镜像名称:[tag]
4.删除镜像
docker rmi 镜像名称:[tag]
docker rmi -f 镜像名称:[tag] # -f 帮你把这个镜像先停掉
docker rmi -f 镜像名称:[tag] 镜像名称:[tag] # 删除多个镜像,空格隔开就行
5.删除全部镜像
docker rmi -f $(docker images -qa)
三、docker容器命令
1.创建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# -i 以交互模式运行容器,通常与 -t 同时使
# -t 为容器重新分配一个伪输入终端,通常与 -i 同时使用
# -d 后台运行容器,并返回容器ID
# -P 随机端口映射
# -p 指定端口映射,格式为: 宿主机端口:容器端口
# 常用(交互模式): docker run -it --name 别名 镜像ID
# 运行一个容器,取别名,交互模式运行(启动后进入容器,后面会学到守护式运行,启动后不进入容器),以及分配一个伪终端。例: run -it --name mycentos 镜像ID[IMAGE ID]
2.列出容器
docker ps [OPTIONS] # 显示正在运行的容器
docker ps -a # 显示所有的容器
docker ps -n 2 # 显示最近创建的2个容器
docker ps -f status=exited # 查看停止的容器
3.退出容器
exit # 容器停止退出
Ctrl+P+Q # 容器不停止退出
4.进入容器
docker attach 容器ID 或 容器名
5.启动容器
docker start 容器ID 或 容器名
6.重启容器
docker restart 容器ID 或 容器名
7.关闭
docker stop 容器ID
8.杀死
docker kill 容器ID(不推荐)
9.删除
docker rm 容器ID # 仅能删除没有运行的容器
docker rm -f 容器ID # 不是否运行都会被删除
docker rm -f 容器ID 容器ID # 空格隔开,删除多个
10.删除所有
docker rm -f $(docker ps -qa)
四、docker进阶
1.守护式方式创建并启动容器(启动容器后不会进入容器)
docker run -di --name 别名 镜像ID
docker run -di --name 别名 镜像ID /bin/bash # 后面默认进入方式就是 /bin/bash,后面的 /bin/bash 不写也行
2.宿主机和容器之间文件拷贝
docker copy to 容器内
docker cp 需要拷贝的文件或目录 容器名称:容器目录
容器内 copy to 宿主机
docker cp 容器名称:容器目录 宿主机目录
3.查看容器日志
docker logs
不喜欢命令的可以直接docker 容器 去找logs日志
具体位置: /var/lib/docker/containers/
4.查看容器进程
docker top 容器ID
5.进入容器执行命令
docker exec
docker exec -it 容器名称 或者 容器ID 执行命令
直接操作容器,执行完回到宿主主机终端
一般用于 启动容器里的应用,比如: tomcat nginx mysql 等等
例: docker exec -it 容器ID ls -l /sys
6.提交运行时容器成为镜像
docker commit
docker commit -a='作者' -m='备注' 运行时容器ID 新镜像的名称 # 定制自己需要的镜像
7.推送镜像至hub服务器
https://hub.docker.com # 注册登录,会获取docker id,password
docker push