欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

【运维】Docker 镜像、容器操作的常用命令

程序员文章站 2024-01-31 12:15:40
...

前言

  上篇文章介绍了安装docker后,我们进一步了解一下如何安装镜像,使用容器。

镜像相关命令

搜索镜像 docker search

   1.docker search 搜索存放在 Docker Hub中镜像。
     docker search java

【运维】Docker 镜像、容器操作的常用命令

  2.每列含义
   NAME
   镜像仓库名称
   DESCRIPTION
   镜像仓库描述
   STARS
   镜像仓库收藏数,表示该镜像仓库的受欢迎程度,类似于 GitHub的 stars0
   OFFICAL
   表示是否为官方仓库,该列标记为[0K]的镜像均由各软件的官方项目组创建和维护
   AUTOMATED
   表示是否是自动构建的镜像仓库

  3.配置镜像加速器
  如果执行命令,搜索Java镜像报错如下:

  Error response from daemon: Get https://index.docker.io/v1/search?
  q=java: read tcp 52.200.132.201:443: i/o timeout

  我们可以借助阿里云的镜像加速器,登录阿里云
镜像加速地址如图:
【运维】Docker 镜像、容器操作的常用命令
  (1)查找docker默认的配置文件:daemon.json

  cd /etc/docker
  vim daemon.json

  (2)如果没有就新建,有就修改,保存退出

 {
 "registry‐mirrors": ["https://m9r2r2uj.mirror.aliyuncs.com"] 4
 }

  (3)重启docker服务

  sudo systemctl daemon‐reload 
  sudo systemctl restart docker

下载镜像

1.在java后加冒号、版本号,下载指定版本,
  docker pull java:8

【运维】Docker 镜像、容器操作的常用命令

列出镜像

docker images

【运维】Docker 镜像、容器操作的常用命令
  列表含义
  REPOSITORY
  镜像所属仓库名称
  TAG
  镜像标签。默认是 latest,表示最新。
  IMAGE ID
  镜像 ID,表示镜像唯一标识
  CREATED
  镜像创建时间
  SIZE
  镜像大小

删除本地镜像

1.删除java镜像,强制删除加 -f
  docker rmi java

2.删除所有镜像

  docker rmi $(docker images ‐q)

容器相关命令

新建、启动、进入、停止、删除容器

1.新建并启动容器
  例如:启动nginx容器
  docker run ‐d ‐p 91:80 nginx

(1)选项含义
  -d选项:表示后台运行
  -P选项:随机端口映射
  -p选项:指定端口映射,有以下四种格式。
    --ip:hostPort:containerPort
    --ip::containerPort
    --hostPort:containerPort
    --containerPort
  --net选项:指定网络模式,该选项有以下可选参数:
    --net=bridge:默认选项,表示连接到默认的网桥。
    --net=host:容器使用宿主机的网络。
    --net=container:NAME-or-ID:告诉 Docker让新建的容器使用已有容器的网络配置。
    --net=none:不配置该容器的网络,用户可自定义网络配置。
(2)本例中,两个参数含义:
  -d 后台运行
  -p 宿主机端口:容器端口 #开放容器端口到宿主机端口
(3)访问 http://Docker宿主机 IP:91/,将会看到nginx的主界面如下:
【运维】Docker 镜像、容器操作的常用命令
(4)注意点
  使用 docker run命令创建容器时,会先检查本地是否存在指定镜像。
如果本地不存在该名称的镜像, Docker会自动从 Docker Hub下载镜像并启动一个 Docker容器。
  2.启动容器
  启动已停止的容器

    docker start f0b1c8ab3633

  3.进入容器
  使用docker exec命令用于进入一个正在运行的docker容器。
  如果docker run命令运行容器的时候,没使用-it参数,就用这个命令进入容器。进入容器后,就可以在容器的 Shell 执行命令了

  docker exec ‐it f0b1c8ab3633 /bin/bash 
(有的容器需要把 /bin/bash 换成 sh)

  4.停止容器
   其中f0b1c8ab3633是容器ID,
   也可使用 docker stop 容器名称 ,停止指定容器

  docker stop f0b1c8ab3633

  5.删除容器
  (1) 删除已停止的容器

 docker rm f0b1c8ab3633

  (2)强制删除正在运行的容器

 docker rm ‐f $(docker ps ‐a ‐q)

列出容器

 docker ps

【运维】Docker 镜像、容器操作的常用命令
  如需列出所有容器(包括已停止的容器),可使用-a参数。
  该列表包含了7列,含义如下

  • CONTAINER_ID:表示容器 ID。
  • IMAGE:表示镜像名称。
  • COMMAND:表示启动容器时运行的命令。
  • CREATED:表示容器的创建时间。
  • STATUS:表示容器运行的状态。UP表示运行中, Exited表示已停止。
  • PORTS:表示容器对外的端口号。
  • NAMES:表示容器名称。该名称默认由 Docker自动生成,也可使用 docker run命令的–name选项自行指定。

查看容器信息、日志、进程

1.查看容器信息
 docker inspect f0b1c8ab3633

2.查看容器日志

 docker container logs f0b1c8ab3633

3.查看容器里的进程

docker top f0b1c8ab3633

容器与宿主机相互复制文件

1.从容器拷贝文件到宿主机
  docker cp 容器id:要拷贝的文件在容器里面的路径 宿主机的相应路径
  docker cp 7aa5dc458f9d:/etc/nginx/nginx.conf /mydata/nginx

2.从宿主机拷贝文件到容器里面
  docker cp 要拷贝的宿主机文件路径 容器id:要拷贝到容器里面对应的路径

容器内安装指令

 apt‐get update
 apt‐get install vim           #安装vim
 apt‐get install iputils‐ping  #安装ping 
 apt‐get install net‐tools     #安装ifconfig
感谢您的访问!