3、Dcoker常用命令

1、帮助命令

#查看当前docker版本
docker version  

#查看docker的详细信息
docker info
#查看docker帮助
docker --help

Commands:
    attach    Attach to a running container                 # 当前 shell 下 attach 连接指定运行镜像
    build     Build an image from a Dockerfile              # 通过 Dockerfile 定制镜像
    commit    Create a new image from a container's changes # 提交当前容器为新的镜像
    cp        Copy files/folders from the containers filesystem to the host path
              # 从容器中拷贝指定文件或者目录到宿主机中
    create    Create a new container                        # 创建一个新的容器,同 run,但不启动容器
    diff      Inspect changes on a container's filesystem   # 查看 docker 容器变化
    events    Get real time events from the server          # 从 docker 服务获取容器实时事件
    exec      Run a command in an existing container        # 在已存在的容器上运行命令
    export    Stream the contents of a container as a tar archive   
              # 导出容器的内容流作为一个 tar 归档文件[对应 import ]
    history   Show the history of an image                  # 展示一个镜像形成历史
    images    List images                                   # 列出系统当前镜像
    import    Create a new filesystem image from the contents of a tarball  
              # 从tar包中的内容创建一个新的文件系统映像[对应 export]
    info      Display system-wide information               # 显示系统相关信息
    inspect   Return low-level information on a container   # 查看容器详细信息
    kill      Kill a running container                      # kill 指定 docker 容器
    load      Load an image from a tar archive              # 从一个 tar 包中加载一个镜像[对应 save]
    login     Register or Login to the docker registry server   
              # 注册或者登陆一个 docker 源服务器
    logout    Log out from a Docker registry server         # 从当前 Docker registry 退出
    logs      Fetch the logs of a container                 # 输出当前容器日志信息
    port      Lookup the public-facing port which is NAT-ed to PRIVATE_PORT
              # 查看映射端口对应的容器内部源端口
    pause     Pause all processes within a container        # 暂停容器
    ps        List containers                               # 列出容器列表
    pull      Pull an image or a repository from the docker registry server
              # 从docker镜像源服务器拉取指定镜像或者库镜像
    push      Push an image or a repository to the docker registry server
              # 推送指定镜像或者库镜像至docker源服务器
    restart   Restart a running container                   # 重启运行的容器
    rm        Remove one or more containers                 # 移除一个或者多个容器
    rmi       Remove one or more images                 
              # 移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]
    run       Run a command in a new container
              # 创建一个新的容器并运行一个命令
    save      Save an image to a tar archive                # 保存一个镜像为一个 tar 包[对应 load]
    search    Search for an image on the Docker Hub         # 在 docker hub 中搜索镜像
    start     Start a stopped containers                    # 启动容器
    stop      Stop a running containers                     # 停止容器
    tag       Tag an image into a repository                # 给源中镜像打标签
    top       Lookup the running processes of a container   # 查看容器中运行的进程信息
    unpause   Unpause a paused container                    # 取消暂停容器
    version   Show the docker version information           # 查看 docker 版本号
    wait      Block until a container stops, then print its exit code   
              # 截取容器停止时的退出状态值

2、镜像命令

#查看容器中所有的镜像
docker images
#也可以给images指令设置一些参数
docker images --help,  #查看所带参数
docker images -a       #查看所有容器镜像。
docker images -q       #值查看镜像ID。

#搜索仓库中的镜像文件
docker search xxx

#将仓库中的镜像拉取到本机,默认拉取最新版本
docker pull xxx[:latest]

#从容器中删除某个镜像。
docker rmi xxx #如果当前镜像正在被使用,则无法删除。
docker rmi -f xxx                  #强制删除镜像。
docker rmi -f xxx:tag xxx:tag      #强制删除多个镜像
docker rmi -f $(docker images -aq) #强制删除全部(有点类似mysql中的 where id in(id1,id2))

3、容器命令

(1) docker run

新建并启动容器
docker run [OPTIONS] image [COMMAND] [ARGS…]
options说明:

  • -a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
  • -d: 后台运行容器,并返回容器ID;
  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -P: 随机端口映射,容器内部端口随机映射到主机的高端口
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
    • ip:hostPort:containerPort
    • ip::containerPort
    • hostPort:containerPort
    • containerPort
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • –name=“nginx-lb”: 为容器指定一个名称;
  • –dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
  • –dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
  • -h “mars”: 指定容器的hostname;
  • -e username=“ritchie”: 设置环境变量;
  • –env-file=[]: 从指定文件读入环境变量;
  • –cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
  • **-m 😗*设置容器使用内存最大值;
  • –net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
  • –link=[]: 添加链接到另一个容器;
  • –expose=[]: 开放一个端口或一组端口;
  • –volume , -v: 绑定一个卷
#启动hello world
docker run hello-world

#使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest

#使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。
docker run -P -d nginx:latest

#使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest

#绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。
docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

#docker运行mysql,取名字,设置端口映射,修改root密码
docker run -itd --name mysql1 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql

#使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/# 
(2) docker start

启动一个或多个已经被停止的容器

docker start [OPTIONS] CONTAINER [CONTAINER...]
docker start hello-world
(3) docker stop

停止一个运行中的容器

docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker stop hello-world
(4) docker restart

重启容器

docker restart [OPTIONS] CONTAINER [CONTAINER...]
docker restart hello-world
### 什么是 Docker Compose? Docker Compose 是用于定义和运行多容器 Docker 应用程序的一个工具。通过单个 `docker-compose.yml` 文件,可以配置应用程序的服务、网络和卷等内容[^1]。 --- ### 如何安装 Docker Compose #### 方法一:基于官方文档的方式 以下是安装 Docker Compose 的标准流程: 1. **下载 Docker Compose 可执行文件** 使用以下命令从 GitHub 下载最新版本的 Docker Compose: ```bash sudo curl -L "https://github.com/docker/compose/releases/download/v2.4.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose ``` 2. **赋予可执行权限** 将下载好的文件设置为可执行状态: ```bash sudo chmod +x /usr/local/bin/docker-compose ``` 3. **验证安装成功** 运行以下命令来确认 Docker Compose 是否已正确安装并查看其版本号: ```bash docker-compose --version ``` 如果显示类似 `docker-compose version v2.4.1` 的信息,则说明安装完成[^2]。 --- ### Docker Compose 基本使用方法 #### 创建 `docker-compose.yml` 配置文件 Compose 文件通常是一个 YAML 格式的文件,其中描述了服务、网络和存储卷的信息。下面是一个简单的例子: ```yaml version: '3' services: web: image: nginx:alpine ports: - "8080:80" networks: - mynet db: image: mysql:5.7 environment: MYSQL_ROOT_PASSWORD: example volumes: - ./data:/var/lib/mysql networks: - mynet networks: mynet: ``` 上述配置创建了一个 Nginx 和 MySQL 组成的应用环境,Nginx 映射到主机端口 8080 上,MySQL 数据持久化到了本地目录 `/data` 中。 --- #### 启动项目 进入包含 `docker-compose.yml` 文件所在的目录后,运行以下命令启动所有服务: ```bash docker-compose up -d ``` 参数 `-d` 表示以后台模式运行容器。 停止正在运行的服务可以通过如下命令实现: ```bash docker-compose down ``` --- ### Docker Compose 常见命令汇总 | 命令 | 描述 | |--------------------------|----------------------------------------------------------------------| | `docker-compose up` | 构建、(重新)创建、启动指定的服务 | | `docker-compose down` | 停止和移除由 compose 起来的容器 | | `docker-compose ps` | 列出当前项目的容器 | | `docker-compose logs` | 查看服务的日志 | | `docker-compose build` | (重新)构建服务中的镜像 | 更多高级选项可通过帮助命令获取: ```bash docker-compose --help ``` --- ### 注意事项 当遇到无法正常启动的情况时,请先检查 Docker 服务是否已经开启。如果没有启动,可以尝试运行以下命令将其激活: ```bash sudo service docker start ``` 此外,在某些情况下可能还需要调整系统的资源限制(如 ulimit 参数),以支持更大的内存分配或更多的进程数。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

peter824

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值