CentOS7中docker 常用命令

docker 常用命令

Docker 简介

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

Docker 环境安装

  • 安装命令如下:
    curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
  • 也可以使用国内 daocloud 一键安装命令:
    curl -sSL https://get.daocloud.io/docker | sh
  • 启动docker:
    systemctl start docker
  • 停止docker:
    systemctl stop docker
  • 重启docker:
    systemctl restart docker
  • docker开机自启动
    systemctl enable docker

Docker 镜像常用命令

1. 搜索镜像
docker search java

2. 下载镜像
docker pull java:8

3. 查找镜像支持的版本
由于docker search命令只能查找出是否有该镜像,不能找到该镜像支持的版本,所以我们需要通过docker hub来搜索支持的版本。

进入docker hub的官网,地址:hub.docker.com
搜索需要的镜像,查看镜像支持的版本

4. 列出镜像
docker images

5. 删除镜像

  • 指定名称删除镜像
    docker rmi java:8

  • 指定名称删除镜像(强制)
    docker rmi -f java:8

  • 强制删除所有镜像
    docker rmi -f $(docker images)

Docker 容器常用命令

新建并启动容器

docker run -p 80:80 --name nginx -d nginx:1.17.0

  • -d选项:表示后台运行
  • –name选项:指定运行后容器的名字为nginx,之后可以通过名字来操作容器
  • -p选项:指定端口映射,格式为:hostPort:containerPort
容器开机自启动
  1. 在使用docker run启动容器时,使用–restart参数来设置:

    --restart具体参数值详细信息:

     no -  容器退出时,不重启容器;
    
    on-failure - 只有在非0状态退出时才从新启动容器;
    
    always - 无论退出状态是如何,都重启容器;
    

    还可以在使用on - failure策略时,指定Docker将尝试重新启动容器的最大次数。默认情况下,Docker将尝试永远重新启动容器。

    docker run --restart=on-failure:10 redis
    docker run -d -p 5000:5000 --restart=always --name registry2 registry:2

  2. 如果创建时未指定 --restart=always ,可通过update 命令

    docker update --restart=always $ContainerName(或者$ContainerId)

列出容器
  • 列出运行中的容器:
    docker ps

  • 列出所有容器
    docker ps -a

停止容器

docker stop $ContainerName(或者$ContainerId)

比如:
docker stop nginx
或者
docker stop c5f5d5125587

强制停止容器

docker kill $ContainerName(或者$ContainerId)

启动已停止的容器

docker start $ContainerName(或者$ContainerId)

进入容器
  • 先查询出容器的pid:
    docker inspect --format "{{.State.Pid}}" $ContainerName(或者$ContainerId)

  • 根据容器的pid进入容器:
    nsenter --target "$pid" --mount --uts --ipc --net --pid

删除容器
  • 删除指定容器:
    docker rm $ContainerName(或者$ContainerId)

  • 强制删除所有容器;
    docker rm -f $(docker ps -a -q)

查看容器的日志

docker logs $ContainerName(或者$ContainerId)

查看容器的IP地址

docker inspect --format '{{ .NetworkSettings.IPAddress }}' $ContainerName(或者$ContainerId)

同步宿主机时间到容器

docker cp /etc/localtime $ContainerName(或者$ContainerId):/etc/

在宿主机查看docker使用cpu、内存、网络、io情况
  • 查看指定容器情况:
    docker stats $ContainerName(或者$ContainerId)

  • 查看所有容器情况:
    docker stats -a

进入Docker容器内部的bash

docker exec -it $ContainerName /bin/bash

修改Docker镜像的存放位置
  • 查看Docker镜像的存放位置:
    docker info | grep "Docker Root Dir"

  • 关闭Docker服务:
    systemctl stop docker

  • 移动目录到目标路径:
    mv /var/lib/docker /mydata/docker

  • 建立软连接:
    ln -s /mydata/docker /var/lib/docker

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值