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

llama3 中文 docker docker ls -a_docker

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                               查看容器里面的信息