Dockerfile常用指令

Docker常用操作指令

Docker管理指令

文章来源:https://macrozheng.github.io/mall-learning/#/reference/docker

开发者必备Docker命令

本文主要讲解Docker环境的安装以及Docker常用命令的使用,掌握这些对Docker环境下应用的部署具有很大帮助。

Docker 简介

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows机器上。使用Docker可以更方便低打包、测试以及部署应用程序。

Docker 环境安装

  • 安装yum-utils:

    yum install -y yum-utils device-mapper-persistent-data lvm2
  • 为yum源添加docker仓库位置:
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
  • 安装docker:
    yum install docker-ce
  • 启动docker:
    systemctl start docker

Docker 镜像常用命令

搜索镜像

docker search java

下载镜像

docker pull java:8

如何查找镜像支持的版本

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

  • 进入docker hub的官网,地址:https://hub.docker.com

  • 然后搜索需要的镜像: 

  • 查看镜像支持的版本: 

  • 进行镜像的下载操作:

    docker pull nginx:1.17.0

列出镜像

docker images

删除镜像

  • 指定名称删除镜像

    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

列出容器

  • 列出运行中的容器:

    docker ps

  • 列出所有容器
    docker ps -a

    停止容器

    # $ContainerName及$ContainerId可以用docker ps命令查询出来
    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)
  • 动态查看日志
    docker logs $ContainerName(或者$ContainerId) -f

    查看容器的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

必备Docker命令的更多相关文章

  1. docker 命令合集

    目录 image镜像操作 container 容器操作 访问仓库 Repository 数据管理 使用网络 容器互联: image镜像操作 列出已经下载下来的镜像: docker image ls 查 ...

  2. Docker命令学习

    今天更换腾讯云系统的时候发现了多了个CoreOS,据说是专门运行docker的轻量系统,顺便学习一下docker命令. 1. docker version 显示 Docker 版本信息. 2. doc ...

  3. Docker命令详解

    Docker命令详解   最近学习Docker,将docker所有命令实验了一番,特整理如下: # docker --help Usage: docker [OPTIONS] COMMAND [arg ...

  4. Docker入门教程(六)另外的15个Docker命令

    Docker入门教程(六)另外的15个Docker命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章 ...

  5. 安装Docker和下载images镜像和常用Docker命令

    我的是centos7,也会6的方法: $sudo yum install docker 直接yum安装contos7使用centos6.5先获取epel源并 启动Docker,并注册开机服务 [roo ...

  6. docker命令和后台参数

    Docker官方为了让用户快速了解Docker,提供了一个 交互式教程 ,旨在帮助用户掌握Docker命令行的使用方法. Docker 命令行 下面对Docker的命令清单进行简单的介绍,详细内容在后 ...

  7. 掌握Docker命令

    1.管理镜像命令 获取镜像 docker push ubuntu:14:04 查看镜像列表 docker images 重命名image docker tag IMAGE-NAME NEW-IMAGE ...

  8. docker命令不需要敲sudo的方法

    由于docker daemon需要绑定到主机的Unix socket而不是普通的TCP端口,而Unix socket的属主为root用户,所以其他用户只有在命令前添加sudo选项才能执行相关操作. 如 ...

  9. 从开发到部署会用到的 Docker 命令

    本文的目的是理解容器开发在目标环境中部署的端到端流程,并列出这些操作所需的 Docker 命令.如果有任何Docker问题,请移步到最新最热的技术社区 IT帮 itbang.me 提问,短信通知专家来 ...

随机推荐

  1. Python的csv文件(csv模块)和ini文件(configparser模块)处理

    Python的csv文本文件(csv模块)和ini文本文件(configparser模块)处理 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.csv文件 1>.CSV文件 ...

  2. 移动端媒体查询CSS3适配规则

    该媒体查询适配规则是以UI设计图750p宽度为版本的,比如PS量的是450px,在书写时写 (450rem/2/15). @media (min-width:240px) and (max-width ...

  3. vs code c/c++编程配置文件

    之前的C语言课程老师只讲了C没有接触C++,但是觉得C++挺重要的,而且python和java再去转exe有点麻烦,所以还是学一下C++. 问过朋友推荐了几个IDE,最后他用的是visual stud ...

  4. Linux代理服务器使用

    1. 介绍 代理(即网络代理)是一种特殊的网络服务, 允许一个网络终端(客户端)通过这个服务与另一个终端(服务器)进行非直接连接,从而提供服务. 其中, 提供代理的网络终端称为代理服务器(Proxy ...

  5. KVM网络

    默认KVM安装后,生成virbro和virbro-nic,VM通过NAT方式连接 新增桥接网络 1.首先创建网桥并绑定 brctl addbr br0 #增加网桥 brctl addif bro en ...

  6. ARTS-week3

    Algorithm 给定一个排序数组,你需要在原地删除重复出现的元素,使得每个元素只出现一次,返回移除后数组的新长度.不要使用额外的数组空间,你必须在原地修改输入数组并在使用 O(1) 额外空间的条件 ...

  7. Alpha冲刺笔记十:第十天

    课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(十天冲刺) 团队名称:葫芦娃队 作业目标:在十天冲刺里对每天的任务进行总结. 随笔汇总:https://www.cnblogs ...

  8. Alpha冲刺(8/10)——2019.5.1

    所属课程 软件工程1916|W(福州大学) 作业要求 Alpha冲刺(8/10)--2019.5.1 团队名称 待就业六人组 1.团队信息 团队名称:待就业六人组 团队描述:同舟共济扬帆起,乘风破浪万 ...

  9. 七牛云——qshell一个神奇的工具

    前言 qshell是利用七牛文档上公开的API实现的一个方便开发者测试和使用七牛API服务的命令行工具.该工具设计和开发的主要目的就是帮助开发者快速解决问题.目前该工具融合了七牛存储,CDN,以及其他 ...

  10. 关于我&声明

    声明 本站内容仅作记录,严禁私人用于参考用药或诊断!请遵循医嘱. 访问本站请确保您有一定的医学知识,本人不对任何个人或团体因参考本站文章负法律责任! 关于 医学生,资深玩家. Logo [ Logo ...