摘要

本文主要讲解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的官网,地址: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)
复制代码

查看容器的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
复制代码

公众号

mall项目全套学习教程连载中,关注公众号第一时间获取。

转载于:https://juejin.im/post/5d0781f56fb9a07f014ef6be

开发者必备Docker命令相关推荐

  1. 开发者必备Linux命令

    摘要 开发者必备Linux常用命令,掌握这些命令绝对够了,基于CenterOS7.6. 系统服务管理 systemctl 输出系统中各个服务的状态: systemctl list-units --ty ...

  2. 开发者必备Mysql命令

    开发者必备Mysql常用命令,涵盖了数据定义语句.数据操纵语句及数据控制语句,基于Mysql5.7. 数据定义语句(DDL) 数据库操作 登录数据库: mysql -uroot -proot 创建数据 ...

  3. docker命令大全(新手必备)

    文章目录 一.命令图谱 二.基本命令 三.镜像命令 `docker images` `docker pull` `docker rmi` `docker run` `docker build` 构建时 ...

  4. docker 命令详细解释

    docker命令详解github地址:链接描述如果对你有帮助,请给我star下! 此次操作都是在unbantu17.01下进行,docker版本是17.10.0-ce,docker-compose是1 ...

  5. Java开发者必备的六款工具

     Java开发者必备的六款工具 摘要:对于初入行的Java开发人员来说,寻找合适的工具是困难的,并且是浪费时间的.而今天我们将列出六款Java程序员必备的工具,其中包括Notepad++.XML ...

  6. 只要 8 个步骤,学会这个 Docker 命令终极教程!

    作者 | Timothy Mugayi 译者 | 弯月 责编 | 徐威龙 封图| CSDN 下载于视觉中国 Docker容器已经从一种锦上添花的技术转变成了部署环境的必需品.有时,作为开发人员,我们需 ...

  7. java需要会的工具_Java开发者必备的几款工具,一定要掌握!

    原标题:Java开发者必备的几款工具,一定要掌握! Notepad++ Notepad++是用于编辑xml.脚本以及记笔记的最佳工具.这个工具的最好部分在于,你在Notepad++上打开的任何一个文档 ...

  8. Docker命令行探秘

    1. Docker命令行 Docker官方为了让用户快速了解Docker,提供了一个交互式教程,旨在帮助用户掌握Docker命令行的使用方法.但是由于Docker技术的快速发展,此交互式教程已经无法满 ...

  9. 深入浅出Docker(二):Docker命令行探秘

    本文原创版权归 infoq 肖德时 所有,此处为技术收藏,如有再转,请于篇头保留原创作者及出处,以示尊重! 作者: 肖德时 原文: http://www.infoq.com/cn/articles/d ...

最新文章

  1. Java线程优先级的概念
  2. 深度|机器学习到底能替人干哪些工作?《科学》列出了8条评估标准
  3. MySQL 数据库的优化,你知道有哪些?
  4. 重磅!GitHub 推出容器镜像仓库服务!
  5. Python--32 模块 包
  6. 如何让滚动条出现在左边
  7. 布局练习——选择水果
  8. 【django】项目准备
  9. 400 多页的 Java 面试笔记,各个公司面试真题!
  10. 【反爬】某网站雪碧图反爬
  11. STM32F0使用LL库实现DMA方式AD采集
  12. Java NIO原理图文分析及代码实现
  13. 小米CC9 Pro同款一亿像素摄像头有望被三星Galaxy S11采用
  14. 软件测试基础方法总结
  15. python学习day02
  16. 读取文本作为输出字段
  17. 程序开发——结对编程
  18. LINUX不能恢复式安装
  19. Python:Flask简单实现统计网站访问量
  20. GROMOS拓扑(、坐标、轨迹、能量)相关文件解读手册第5章阅读笔记II

热门文章

  1. 解放学校网络管理员的双手 ——陕西省基础教育专网×××接入程序的优化
  2. Linux Shell高级技巧(一)
  3. OAuth(开放授权):(第三方)通过(授权)令牌(Access Token)访问用户数据
  4. warning C4552: '' : operator has no effect; expected operator with side-effect
  5. Apache-Guacamole windows11 远程控制
  6. php设计模式 -- 工厂模式
  7. python与java的猜拳游戏
  8. 关于centos6升级python3.6无法使用pip的问题
  9. jmeter-00 JMeter 运行过程
  10. 快速排序以及基于快排思想的找前k个最大数