Docker 基本命令和使用

Docker 基本命令

systemctl start docker : 启动 Docker

systemctl stop docker : 停止 Docker

systemctl restart docker : 重启 Docker

systemctl enable docker : 开机启动 Docker

docker info : 查看 Docker 概要信息

docker --help :查看 Docker 帮助文档

docker version : 查看Docker版本信息

Docker 镜像 基本命令

1、docker images or docker image ls : 列出本机所有镜像

? options 可选参数

可选参数 参数描述
-a 显示所有镜像(包括中间层)
-q 只显示镜像Id
-qa 可以组合使用
--digests 可以显示镜像的摘要信息
--no-trunc 可以显示完整的镜像信息

2、docker search : 搜索镜像

? options 可选参数

可选参数 参数描述
--no-trunc 显示完整的镜像描述
-s 列出收藏数不小于指定值的镜像
--automated 只列出Docker Hub自动构建类型的镜像

docker pull : 拉取镜像

? dockers pull 镜像名称 :

? 注意:不加TAG,默认下载最新版本 latest

3、docker rmi : 删除镜像

  1. 删除单个

    docker rmi 镜像名称:[TAG]  如果不写 TAG 则默认删除最新版 latest
  2. 有镜像生成的容器在运行的时候,会删除失败,需要加 -f 强制删除
    [[email protected] ~]# docker rmi rabbitmq
    Error response from daemon: conflict: unable to remove repository reference "rabbitmq" (must force) - container 99693943e972 is using its referenced image 84bc4895f175
    docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG] 多个镜像之间空格隔开

Docker 容器 基本命令

  1. docker run [OPTIONS] image [COMMAND][ARG...] : 创建并启动容器

    ? options 可选参数

    可选参数 参数描述
    --name=‘容器新名字‘ 为容器指定一个名称
    -i 以交互模式运行容器、通常和 -t 同时使用
    -t 为容器重新分配一个伪输入终端,通常和 -i 同时使用
    -d 后台运行容器,并返回容器id
    • docker run --name 别名 镜像id : 启动普通容器
    • docker run -it --name 别名 镜像Id 来运行一个容器,取别名,交互模式运行,以及分配一个伪终端 : 启动交互式容器
    • docker run -di --name 别名 镜像Id:以守护式方式创建并启动容器
  2. docker ps [OPTIONS] : 列出容器

    ? options 可选参数

    可选参数 参数描述
    -a 显示所有容器,包括未运行的
    -f 根据条件过滤显示的内容
    --format 指定返回值的模板文件
    -l 显示最近创建的容器
    -n 显示最近创建的 n 个容器
    --no-trunc 不截断输出
    -q 静默模式,只显示容器编号
    -s 显示总的文件大小
    -qa 列出所有容器id
  3. exit :容器停止退出

    ctrl + p + q : 容器不停止退出

    docker attach 容器Id or 容器名 : 进入容器

    dockr start 容器id or 容器名 : 启动容器

    dockr restart 容器id or 容器名 : 重启容器

    docker stop 容器id or 容器名 :停止容器

    docker kill 容器id or 容器名 : 暴力停止,直接杀死进程(不推荐)

    docker rm 容器id : 如果删除正在运行的容器,会报错,如果需要删除,需要强制删除

    docker rm 容器Id -f : 强制删除

    docker rm -f $(docker ps -qa) : 删除所有容器

Docker 容器与宿主机端口映射

docker run [OPTIONS] IMAGE [COMMAND] [ARG...] : docker run :创建一个新的容器并运行一个命令

docker run -i -t -p 宿主机端口:容器应用端口 --name 别名 镜像id : Docker 容器与宿主机端口映射

? options 可选参数

可选参数 参数描述
-d 后台运行容器,并返回容器ID
-i 以交互模式运行容器,通常与 -t 同时使用
-P(大写p) 随机端口映射,容器内部端口随机映射到主机的高端口
-p(小写p) 指定端口映射,格式为:主机(宿主)端口:容器端口
--name 为容器指定一个名称

修改 Docker 默认存储位置,Docker 容器迁移

Docker中默认存放镜像和容器的目录是:/var/lib/docker/ ,/var下比较容易满建议迁移。

我的系统是 Centos7,具体解决步骤如下:

  1. 停止Docker 服务:

    systemctl stop docker; //每个liunx版本的命令不一样。
  2. 在空间充足的磁盘下创建新的docker目录
    mkdir -p /data/docker;   //在根目录下新建
  3. 迁移/var/lib/docker目录下面的文件到刚才新建好的 /data/docker下面
    cp -rvf /var/lib/docker/* /data/docker
  4. 修改 Docker 配置
    1. vim /etc/systemd/system/docker.service.d/devicemapper.conf
    2. 在文件末尾添加:--graph=/data/docker

      devicemapper.conf文件的内容如下:

      [Service]
          ExecStart=
          ExecStart=/usr/bin/dockerd --insecure-registry=私服地址 --graph=/home/docker/lib

      注意:如果/etc/systemd/system/docker.service.d/devicemapper.conf,这个路径找不到的话,就新建,新建之后加入内容,没有私服地址的话就可以去掉”--insecure-registry=私服地址”。

  5. 重载配置,重启docker
    systemctl daemon-reload;
    systemctl restart docker;
    systemctl enable docker;
  6. 启动成功后,确定容器没问题后删除/var/lib/docker/目录中的文件,然后就OK了。

查看容器日志

docker logs : 获取容器的日志

语法 :docker logs [OPTIONS] CONTAINER

? options 可选参数

可选参数 参数描述
-f 跟踪日志输出
--since 显示某个开始时间的所有日志
-t 显示时间戳
--tail 仅列出最新N条容器日志

Docker 容器目录挂载

? 我们 在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以实现宿主机和容器目录的双向数据自动同步。

? 我们可以通过容器目录挂载,能够轻松实现代码上传、配置修改、日志同步等需求。

语法 : docker run -i -t -v /宿主机目录:/容器目录 镜像id

多目录挂载 :docker run -i -t -v /宿主机目录:/容器目录 -v/宿主机目录2:/容器目录2 镜像id

注意 :如果同步多级目录,可能会出现权限不足的提示,只需要添加 --privileged=true 来解决挂载的目录没有权限的提示问题。

Docker容器启动的时候,如果要挂载宿主机的一个目录,可以用-v参数指定。

譬如我要启动一个centos容器,宿主机的/data/hData目录挂载到容器的/cData目录,可通过以下方式指定:

docker run -i -t -v /data/hData:/cData 470671670cac

注意点

  1. 容器目录不可以为相对路径
  2. 宿主机目录如果不存在,则会自动生成

原文地址:https://www.cnblogs.com/leizzige/p/12232658.html

时间: 2024-10-08 22:58:59

Docker 基本命令和使用的相关文章

docker基本命令及操作逻辑

docker镜像操作逻辑图: docker是一个容器,而运行一个容器必须要有镜像,因为镜像是容器的核心,我们在docker上运行一个服务时需要通过docker run运行一个镜像,才能够进入到该容器中,我们也可以使用docker commit命令 将一个容器制作成一个镜像,但注意制作一个镜像时需要指定一个完整的镜像名称(镜像名称+版本号),它默认的版本号是latest,表示为最新版本的镜像,如果不写,将默认已latest结尾.还可以执行docker save --output命令导出该镜像,而当

Docker基本命令

1.搜索Docker镜像 docker search <镜像名> 2.获取镜像 docker pull <镜像名> 3.查看本地镜像 docker images 4.删除镜像 docker rmi <镜像名> 5.启动容器 docker run --name <容器名> <镜像名> 容器后台运行docker run -d --name <容器名> <镜像名> 6.查看荣誉运行状态 docker ps 查看所有容器状态(包括

Docker基本命令与使用 —— Dockerfile指令与构建(三)

一.Dockerfile指令上 1.指令格式 # Comment 注释, 以#开头 INSTRUCTION argument 以大写的指令+参数 #First Dockerfile 注释 FROM ubuntu:14.04 MAINTAINER dormancypress "[email protected]" RUN apt-get update RUN apt-get install -y nginx EXPOSE 80 From MAINTAINER RUN EXPOSE FRO

Docker基本命令与使用 —— Docker容器(一)

一.容器的基本操作 1. 启动容器 docker run IMAGE [COMMAND] [ARG...] run 在新容器中执行命令 eg: docker run ubuntu echo 'Hello World' 输出内容的同时,启动的容器已经停止,这是一个实行单次命令的容器 2. 启动交互式容器 docker run -i -t IMAGE /bin/bash -i --interactive=true|false 默认是false -t --tty=true|false 默认是false

Docker基本命令与使用 —— Docker容器的网络连接(四)

一.Docker容器的网络基础 通过ifconfig查看docker0的网络设备,docker守护进程就是通过docker0为docker的容器提供网络连接的各种服务. docker0是Linux虚拟网桥. Linux虚拟网桥的特点: 可以设置IP地址 相当于拥有一个隐藏的虚拟网卡 docker0的地址划分: IP:172.17.42.1 子网掩码: 255.255.0.0 MAC: 02:42:ac:11:00:00 到 02:42:ac:11:ff:ff 总共提供65534个地址 docke

Docker基本命令与使用 —— Docker镜像与仓库(二)

一.查看和删除镜像 1.Docker Image 镜像 容器的基石 层叠的只读文件系统 联合加载(union mount) (存储位置 /var/lib/docker) docker info 2.列出镜像 docker images [OPTIONS] [REPOSITORY] -a,--all=false 默认并不显示中间层镜像 -f,--filter=[] 过滤条件 -no-trunc=false 不以截断的形式显示数据(镜像的唯一Id) -q,--quiet=false 只显示镜像的唯一

五十三.Docker概述、部署Docker、Docker镜像、Docker基本命令

1.安装Docker 准备两台虚拟机,IP为192.168.1.10和192.168.1.20 安装docker-engine 和 docker-engine-selinux 关闭防火墙 ************************************** 配置两台虚拟机: 创建两台虚拟机后端盘: images] qemu-img create -f qcow2 -b node.qcow2 docker1.img 50G images] qemu-img create -f qcow2

再谈docker基本命令

子曰,温故而知新 今日,再次看书之际,又寻得docker的几条使用命令,用小本本记下来 配置docker镜像源 当我们在拉去一些共有镜像时,默认,docker会向docker.io去获取,如果在拉取的过程中出现下载速度慢的情况呢,其实可以试试用一些国内的镜像源,例如:daocloud镜像站官方文档: https://www.daocloud.io/mirror仅需要一条明明足以 curl -sSL https://get.daocloud.io/daotools/set_mirror.sh |

docker 基本命令

以启动zookpeer为例 docker run --name zookeeper -p 2081:2181 -d zookeeper 进入容器内 查看其配置信息 docker exec -it ce1ca3255bf9 /bin/bash (ce1ca3255bf9 为容器的id) 查看正在运行的容器 [[email protected] ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 093836e283