docker命令的使用

news/2024/11/26 2:39:24/

由于docker镜像访问很慢,所以使用阿里的镜像加速器。

参考:阿里官方教材

可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

# mkdir -p /etc/docker
# vi /etc/docker/daemon.json
{"registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
}
# systemctl daemon-reload
# systemctl restart docker

在这里插入图片描述

帮助命令

  • docker version查看docker版本

  • docker info查看docker信息

  • docker --help查看帮助信息

镜像命令

docker search搜索镜像

# docker search tomcat

docker pull从仓库下载镜像

以下载tomcat为例:

# docker pull tomcat

默认pull的是https://hub.docker.com/,可以指定pull的仓库地址:

# docker pull registry.cn-hangzhou.aliyuncs.com/morris131/jdk:[镜像版本号]

docker images查看镜像

# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
tomcat              latest              4e7840b49fad        8 days ago          529MB

选项:

  • -a:显示所有的镜像

  • -q:只显示镜像id

  • –digests:显示摘要信息

docker rmi删除镜像

# docker rmi tomcat

docker save保存镜像

# docker save -o hello-world.tar hello-world:latest
# ll
total 24576
-rw-------. 1 root root     24576 May 28 09:03 hello-world.tar

docker load导入镜像

# docker load -i hello-world.tar 
f22b99068db9: Loading layer [==================================================>]  15.36kB/15.36kB
Loaded image: hello-world:latest
# docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              d1165f221234        2 months ago        13.3kB

容器命令

docker run新建并启动一个容器

# docker run -d --name mytomcat -p8888:8080 -it 4e7840b49fad

选项:

  • -d:表示后台运行(daemon)

  • –name:为容器指定一个名字

  • -p:端口映射,宿主机端口为8888映射到docker内端口8080

  • -i:交互方式运行

  • -t:启动一个伪终端

docker ps查看启动的容器

# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                    NAMES
611cdea15ce1        4e7840b49fad        "catalina.sh run"   4 minutes ago       Up 4 minutes        0.0.0.0:8888->8080/tcp   mytomcat

选项:

  • -a:列出所有的容器(包括正在运行的和已停止运行的)

  • -l:显示最近创建的容器

  • -n:显示最近创建的n个容器

  • -q:只显示容器ID

docker stop停止容器

# docker stop 611cdea15ce1

docker start启动容器

# docker start 611cdea15ce1

docker restart重启容器

# docker restart 611cdea15ce1

docker kill强制停止容器

# docker kill 611cdea15ce1

docker rm删除容器

# docker rm 611cdea15ce1

docker logs查看容器的日志

# docker logs 6e6fa4a51f8d

docker top查看容器内的进程

# docker top 6e6fa4a51f8d

docker inspect查看容器的详细信息

# docker inspect 6e6fa4a51f8d

docker exec进入到运行中的容器

# docker exec -it 6e6fa4a51f8d /bin/bash

docker attach进入到运行中的容器

进入容器后退出会导致容器终止,而docker exec不会。

# docker attach --sig-proxy=false  a4d400f2ea80

docker cp从容器中拷贝文件到宿主机

# docker cp 6e6fa4a51f8d:/usr/local/tomcat/BUILDING.txt 

docker export导出容器

# docker export a4d400f2ea80 > tomcat.tar.gz

docker import导入容器

# docker import hello-world.tar morris/hello-world:v1
sha256:ee76e27a8fbd9441ace8e3e3e3e30a04c2c227bbc42a65239b956d579b336386
# docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
morris/hello-world   v1                  ee76e27a8fbd        6 seconds ago       13.3kB
hello-world          latest              d1165f221234        2 months ago        13.3kB

创建镜像的方式

  • docker commit:通过容器创建镜像。

  • docker build:通过dockerfile创建。

# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
578aa8e58724        d1165f221234        "/hello"            6 minutes ago       Exited (0) 6 minutes ago                        thirsty_khorana
a4d400f2ea80        c43a65faae57        "catalina.sh run"   13 hours ago        Exited (130) 13 hours ago                       mytomcat
# docker commit -m "my hello world" -a "morris" 578aa8e58724 morris/hello:v2
sha256:eb9df978d042e15f97aff7a53003e8277938f428d0dabb5bc6af8c2cc18edf5c
# docker images
REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE
morris/hello         v2                  eb9df978d042        3 seconds ago       13.3kB
morris/hello-world   v1                  ee76e27a8fbd        4 minutes ago       13.3kB
hello-world          latest              d1165f221234        2 months ago        13.3kB

http://www.ppmy.cn/news/781367.html

相关文章

Mycat的简单使用(三)【分库分表】

Mycat的简单使用(三)【分库分表】 为什么分库分表什么是分库分表?为什么要分库分表?从性能上看从可用性上看 如何分库分表分库?分表?还是既分库又分表?如何选择我们自己的切分方案?如…

Git内部原理之深入解析Git的引用和包文件

一、Git 分支本质 如果对仓库中从一个提交(比如 1a410e)开始往前的历史感兴趣,那么可以运行 git log 1a410e 这样的命令来显示历史,不过需要记得 1a410e 是查看历史的起点提交。如果我们有一个文件来保存 SHA-1 值,而…

暗月渗透实战靶场-项目六(上)

暗月渗透实战靶场-项目六 环境搭建 使用的是暗月提供的环境 直接虚拟机运行即可 设置网络环境 网卡配置的时候为了方便直接使用的是暗月的vm19的网卡配置的内网环境 00x1-信息搜集 我们已经知道目标主机 192.168.1.150 使用masscan sudo masscan -p 1-65535 192.168.1…

计算机组成原理实验:基本运算器实验

学生实验报告 实验课名称:计算机组成原理 实验项目名称:基本运算器实验 一、实验名称: 基本运算器实验 二、实验目的: (1)了解运算器的组成原理 (2)掌握运算器的工作原理 三、…

Python3 - 深入学习Docker容器管理

文章目录 一、Docker简介1.1 为什么选择docker?1.1.1 docker更高效的利用系统资源1.1.2 更快的启动时间1.1.3 持续交付和部署1.1.4 更轻松的迁移 1.2 Docker能做什么?1.3 Docker最核心的组件 二、Docker安装部署2.1 基础环境配置2.2 安装docker2.2.1 docker必须安装在centos7…

Arm发布首款同步多线程架构Cortex A65AE,继续加力自动驾驶计算...

雷锋网(公众号:雷锋网)消息,早在今年9月,Arm就推出了新的Arm Safety Ready计划,旨在为自动驾驶汽车开发解决方案,还推出了第一款专为无人驾驶汽车设计的处理器架构Cortex A76AE。 先前宣布的Cortex A76AE是Arm首次采用…

解决K8S集群kubelet故障:Failed to update stats for container nable to determine device info for dir

在检查k8S节点系统日志时发现,有大量的kubelet组件报错,报错内容如下: Jun 16 09:51:37 master kubelet: W0616 09:51:37.076817 6997 container.go:549] Failed to update stats for container "/kubepods/besteffort/pod022cc533-…

ROS1Noetic在Win11中安装记录

和Win10类似,windows系统安装和使用ROS的好处,几乎主流版本的ROS全部可以用,还能用WSL使用Ubuntu下原生ROS,非常方便。 在Windows系统安装ROS机器人操作系统(2020年10月25日更新)_zhangrelay的博客-CSDN博…