Docker 基础使用

Docker 安装完成后, 正常使用 Docker 需要了解一些常用的操作指令.

  • 查看系统 Docker 服务状态
leo@ulinux:~$ systemctl status docker

如果 Docker 服务没有启动, 使用 sudo systemctl start docker 启动 Docker 服务.


  • docker 运行权限问题
    docker 安装完成后不能用当前用户进行运行, 提示权限问题时, 增加当前用户到 docker 用户组重启即可
eo@ulinux:~$ sudo usermod -aG docker ${USER}

  • search 搜索镜像
    通常使用镜像一种方式是自己创建, 一种是使用现成的. 现成已经发布的镜像可以通过 search 搜索, 选择一个合适的下载下来使用
leo@ulinux:~$ docker search --filter "is-official=true" --filter "stars=3" hello-world 

--filter 可以进行搜索过滤,

--filter "is-official=true": 只搜索官方镜像.
--filter "stars=3": 评分3颗星以上的镜像.


  • pull 下载镜像
    通过搜索镜像, 可以得到一个需要的容器列表, 选择一个容器名字, 进行下载
leo@ulinux:~$ docker pull hello-world

pull 可以带 Tag 下载, docker pull image[:tag], 默认的 tag 为latest, 可以在 hub.docker.com上查看具体的镜像的具体 tag.


  • image 关于镜像
    通常我们使用镜像都是会指定镜像的 tag, 如果不指定 tag 通常都是使用默认 tag, 也就是 latest, 通常的用法是 image[:tag]

  • images 查看本机已有的镜像
leo@ulinux:~$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              4ab4c602aa5e        2 months ago        1.84kB

docker images 命令列出本机所有的 docker 容器镜像
REPOSITORY: 表示镜像的仓库源
TAG: 镜像的标签
IMAGEID: 镜像ID
CREATED: 镜像创建时间
SIZE: 镜像大小


  • run 运行镜像
    下载到本地的镜像就可以通过 run 执行进行运行了. 也可以直接进行运行, docker 会自动化去下载到本地.
leo@ulinux:~$ docker run hello-world

run指令可以添加非常多的参数,

  • --name: 运行镜像时给这个镜像取名, 方便停止的时候直接对这个名字的镜像进行停用. 比如: --name myNginx 运行nginx镜像时取名为: myNginx.
  • --volume , -v: 挂载一个目录到容器里, 并且覆盖容器里的目录. 格式为 -v host-path:image-path[:ro], ro: 可选, 表示挂载的目录只读.
  • --publish , -p: 端口映射, 主机的端口映射到镜像虚拟机的端口.
  • --detach , -d: 容器运行在守护进程中. 终端输出容器ID结束.
  • --interactive , -i: 容器在前端运行, 和 -d 参数相反, -i 一直等到用户输入.
  • --tty , -t: 挂载标准的输入输出, 通常和 -i 搭配使用.
  • 官方文档 查看更多的参数配置.

  • ps 查看本机当前运行的镜像
leo@ulinux:~$ docker ps

  • stop 停用镜像
    对于使用 -d 参数运行的镜像, 是安排在后台运行的, 需要 stop指令进行停用.
leo@ulinux:~$ docker stop my-nginx

my-nginx: 为 run 镜像的时候使用 --name 参数进行设置的名称, 未设置名称可以使用 ps 执行查看容器ID, 然后 使用 docker stop ContainerID 停用.


  • start 启用镜像
    对于使用 -d 参数运行的镜像, 用 stop指令进行停用后, 可再次快速启动, 根据 --name 来启动.
leo@ulinux:~$ docker start my-nginx

  • rm 删除镜像
    对于 run 时使用 --name 的镜像, 使用 stop 停用后, 再run的时候, 这个名字并未被释放, 使用 rm 操作进行删除, 以便再次使用
leo@ulinux:~$ docker rm -v my-nginx

  • rmi 删除本地镜像
    需要删除已经下载的本地镜像, 使用 rmi 即可.
leo@ulinux:~$ docker rmi -f hello-world
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容