docker三要素:镜像、容器、仓库
docker安装可以参考官网:https://docs.docker.com/install/linux/docker-ce/ubuntu/
下面列举一些docker常用命令(如果执行命令需要权限,则在命令前加上sudo):
1、帮助命令
docker version 查看docker版本信息
docker info 更加详细的说明
docker --help 帮助命令
2、镜像命令
docker images 列出本地主机上的镜像;
docker images -a 列出本地所有镜像(含中间镜像层)
docker images -q 只显示本地主机上镜像的id(docker images -qa)
docker images --digests 显示本地镜像的摘要信息(备注信息)
docker images --no-trunc 显示镜像完整的id信息
REPOSITORY 表示镜像的仓库源
TAG 镜像标签
DIGEST
IMAGE ID 镜像id
CREATED 镜像创建时间
3、search命令
docker search mysql 会去docker hub上查找mysql镜像
docker search -s 100 mysql 查找star数超过100的mysql镜像
docker search -s 100 --no-trunc mysql 查找mysql镜像并列出完整的描述
docker pull mysql 从dockerHub上拉取mysql镜像,
等价 docker pull mysql:lastest
4、删除镜像
docker rmi mysql(镜像名或镜像id都行) 删除mysql镜像
docker rmi -f mysql 强制删除mysql镜像
docker rmi -f mysql tomcat 强制删除多个镜像
docker rmi -f $(docker images -qa) 删除本地全部镜像
5、容器相关命令
先去dockerhub上拉取一个ubuntu镜像
①新建并进入容器 docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
docker ps 列出所有正在运行的容器(在ubuntu容器外执行)
docker ps -a 列出所有正在运行的容器加历史运行的容器
docker ps -l 列出上次运行的容器
docker ps -n 3 列出最近3次运行的容器
docker ps --no-trunc 显示完整的容器信息
docker run -it ubuntu(或者镜像id) 以ubuntu镜像为模板新建了一个镜像并且登录进入了该镜像
其中 -t 选项让Docker分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上
-i 则让容器的标准输入保持打开。
当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:
• 检查本地是否存在指定的镜像,不存在就从公有仓库下载
• 利用镜像创建并启动一个容器
• 分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
• 从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
• 从地址池配置一个 ip 地址给容器
• 执行用户指定的应用程序
• 执行完毕后容器被终止
②进入镜像后退出镜像
exit 容器停止并退出
Ctrl+p+q 容器不停止退出
③重启、关闭和删除容器
docker start 容器id 启动已终止的容器
docker restart 容器id 重新启动容器
docker stop 容器id 关闭容器
docker kill 容器id 强制关闭容器
docker rm 容器id 删除已关闭的容器
docker run -d 容器名 启动守护式容器
docker run it -p 8088:8080 tomcat 用localhost:8088来访问tomcat的8080端口
docker logs -f -t 容器id 查看docker里面容器的日志
docker top 容器id 查看容器内运行的进程
docker attach 容器id 重新进入到退出的容器
docker exec -it 容器id /bin/bash 重新进入到退出的容器
docker cp 容器id:path path 从容器里面的文件拷贝到外面
docker commit -a=”作者” -m=”修改了什么” 容器id rpc/ubuntu:1.1
在ubuntu里安装了rpc后,提交成为一个新的镜像
docker exec -it 容器id ls -l /tmp 可以不进入容器中但是却执行容器里面的命令并且拿到返回的结果
④数据共享
docker run -it -v /宿主机目录:/容器内目录 镜像名 数据卷共享(容器和主机共享)
docker run -it -v /宿主机目录:/容器内目录:ro 镜像名 数据卷共享(容器和主机共享,只读,主机不能修改容器内目录的内容)
docker inspect 容器id 查看容器里面的信息