Learn Docker(一)—软件安装与常规操作

时间:2022-08-28 18:24:12

一、安装Docker

Windows平台

  • 在Windows10 X64专业版上可以直接下载Docker原生应用进行安装,在控制面板的程序与功能里启用Hyper-v,之后就可以运行docker程序啦。

Hyper-V是微软的一款虚拟化产品,是微软第一个采用类似Vmware和Citrix开源Xen一样的基于hypervisor的技术。

  • 在其他Windows版本里,需要使用Docker Toolbox运行Docker。

docker toolbox是一个工具集,它主要包含以下一些内容:

  • Docker CLI 客户端,用来运行docker引擎创建镜像和容器
  • Docker Machine. 可以让你在windows的命令行中运行docker引擎命令
  • Docker Compose. 用来运行docker-compose命令
  • Kitematic. 这是Docker的GUI版本
  • Docker QuickStart shell. 这是一个已经配置好Docker的命令行环境
  • Oracle VM Virtualbox. 虚拟机

由于Docker引擎的守护进程使用的是Linux的内核,所以我们不能够直接在windows中运行docker引擎。而是需要运行Docker Machine命令 docker-machine, 在你的机器上创建和获得一个Linux虚拟机,用这个虚拟机才可以在你的windows系统上运行Docker引擎。

Linux平台

Get Docker网站为我们提供了一个安装Docker的shell脚本,我们可以通过执行该脚本的方式在Linux上安装。该脚本会判断Linux的版本并进行合适的安装。其命令如下:

sudo wget  -qo- https://get.docker.com/ | sh

在安装之后,根据提醒可以再执行命令

sudo usermod -aG docker username(username换成自己的用户名)

该命令会创建docker分组,并将相应的用户添加到这个分组里面。执行后退出,然后重新登录,以便让权限生效。

二、常规操作

  • 检查docker的版本,这样可以用来确认docker服务在运行并可通过客户端链接。Docker系统有两个程序:docker服务端和docker客户端。其中docker服务端是一个服务进程,管理着所有的容器。docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。大部分情况下,docker服务端和客户端运行在一台机器上。

docker version

Learn Docker(一)—软件安装与常规操作

  • 学会使用命令行的工具来检索名字叫做tutorial的镜像。Docker官方网站专门有一个页面来存储所有可用的镜像,网址是:index.docker.io。你可以通过浏览这个网页来查找你想要使用的镜像,或者使用命令行的工具来检索。

docker search tutorial

Learn Docker(一)—软件安装与常规操作

  • 通过docker命令下载tutorial镜像。docker命令和git有一些类似的地方。在docker的镜像索引网站上面,镜像都是按照用户名/镜像名的方式来存储的。有一组比较特殊的镜像,比如ubuntu这类基础镜像,经过官方的验证,值得信任,可以直接用镜像名来检索到。

docker pull learn/tutorial

Learn Docker(一)—软件安装与常规操作

  • 在docker容器中运行hello world!        docker容器可以理解为在沙盒中运行的进程。这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。但这个沙盒默认是不会运行任何程序的。你需要在沙盒中运行一个进程来启动某一个容器。这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止。

    docker run命令有两个参数,一个是镜像名,一个是要在镜像中运行的命令。

docker run learn/tutorial echo “hello world”

Learn Docker(一)—软件安装与常规操作

  • 在容器中安装新的程序。

    我们之前下载的tutorial镜像是基于ubuntu的,所以你可以使用ubuntu的apt-get命令来安装ping程序:apt-get install -y ping

    备注:apt-get 命令执行完毕之后,容器就会停止,但对容器的改动不会丢失。

    在执行apt-get 命令的时候,要带上-y参数。如果不指定-y参数的话,apt-get命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响应这种交互的

docker run learn/tutorial apt-get install -y ping

Learn Docker(一)—软件安装与常规操作

  • 保存对容器的修改。当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。docker中保存状态的过程称之为_committing_,它保存的新旧状态之间的区别,从而产生一个新的版本。

    首先使用docker ps -l命令获得安装完ping命令之后容器的id。然后把这个镜像保存为learn/ping。

    提示:

    1. 运行docker commit,可以查看该命令的参数列表。

    2. 你需要指定要提交保存容器的ID。(译者按:通过docker ps -l 命令获得)

    3. 无需拷贝完整的id,通常来讲最开始的三至四个字母即可区分。(非常类似git里面的版本号)

docker commit 531 learn/ping

Learn Docker(一)—软件安装与常规操作

执行完docker commit命令之后,会返回新版本镜像的id号。

  • 运行新的镜像。一定要使用新的镜像名learn/ping来运行ping命令。

docker run learn/ping ping www.baidu.com

Learn Docker(一)—软件安装与常规操作

  • 检查运行中的镜像。使用docker ps命令可以查看所有正在运行中的容器列表(docker ps -a命令可以查看所有容器列表【包含沉睡镜像】),使用docker inspect命令我们可以查看更详细的关于某一个容器的信息。

docker inspect  9b14

Learn Docker(一)—软件安装与常规操作

  • 发布自己的镜像。

    1. docker images命令可以列出所有安装过的镜像。

    2. docker push命令可以将某一个镜像发布到官方网站。

    3. 你只能将镜像发布到自己的空间下面。这个模拟器登录的是learn帐号。

Learn Docker(一)—软件安装与常规操作的更多相关文章

  1. 关于docker--详解安装,常规操作,导入导出等(2017-3-29)

    测试环境 :CentOS 7.1 64位 目的:展示docker的常规使用(安装,常规操作,导入导出等) 其他:关于原理等请参考文章后面的延伸阅读,本文不做深入探讨,且方法不唯一 0x01 关于安装d ...

  2. Docker入门2------容器container常规操作

    参考转自 https://www.cnblogs.com/jsonhc/p/7760144.html Docker的container 运行一个container的本身就是开启一个具有独立namesp ...

  3. docker常用软件安装及使用

    linux安装docker: sudo wget -qO- https://get.docker.com | sh 启动docker: service docker start 搜索镜像: docke ...

  4. 安装docker以及常规操作

    一.安装 docker对内核版本是有要求的,反正建议用7以上的版本,少坑 如果需要卸载旧版本(凡是卸载删除操作都要谨慎!): yum remove docker \ docker-client \ d ...

  5. 1.docker介绍、命令、容器、镜像、数据卷、Dockerfile、常用软件安装、推送阿里云

    一.docker介绍 1.docker是什么 一款产品从开发到上线,从操作系统,到运行环境,再到应用配置.作为开发+运维之间的协作我们需要关心很多东西,这也是很多互联网公司都不得不面对的问题,特别是各 ...

  6. Docker 容器中相关软件安装

    Docker 容器中相关软件安装 1.介绍 我们从docker hub下载的centos镜像是只有很少的命令,需要单独安装我们所需的相关软件. 2.安装软件 安装yum-utils软件包 该软件包是辅 ...

  7. python相关软件安装流程图解——虚拟机操作——复制虚拟机主机——CentOS-7-x86_64-DVD-1810

    请先确保已经安装了虚拟机 python相关软件安装流程图解——虚拟机安装——CentOS-7-x86_64-DVD-1810——CentOS-01下载 https://www.cnblogs.com/ ...

  8. docker 介绍及安装操作

    docker 介绍及安装操作 1.docker概述 2.docker安装及操作 1.docker概述: Docker是一个开源的应用容器引擎,基于go语言开发并遵循了apache2.0协议开源 是在L ...

  9. docker学习(1) 安装

    docker是啥就不多讲了,简言之就是更轻量.更牛叉的新一代虚拟机技术.下面是安装步骤: 一.mac/windows平台的安装 docker是在linux内核基础上发展而来的,无法直接运行在mac/w ...

随机推荐

  1. Linux上传下载文件快捷命令

    远程链接Linux(如SecrueCRT),要上传文件很下载文件到Linux服务器,只需要使用sz或者rz命令即可快速下载和上传文件了. 使用方法: 1.首先确保Linux服务器系统中安装了lrzsz ...

  2. Binary search tree

    #ifndef __TREE_H #define __TREE_H #include <iostream> template<typename T> class TreeNod ...

  3. 2015多校&period;MZL&&num;39&semi;s endless loop&lpar;欧拉回路的机智应用 &vert;&vert; 构造)

    MZL's endless loop Time Limit: 3000/1500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Oth ...

  4. Duilib 鼠标在某控件例如按钮上悬停后,对目标控件操作

    其实对WM_MOUSEHOVER消息的处理,因为WindowImplBase基类中对此消息未处理,所以在自己的窗口类中实现: .h文件中加入 LRESULT OnMouseHover( UINT uM ...

  5. php威盾解密的例子分享

    例子,批量解密  代码如下 复制代码 <?php/************************************威盾PHP加密专家解密算法 By:zhrt*http://www.111 ...

  6. Asp&period;net基础知识

    1.[项目结构] 1.1文件后缀: .cs         源文件(程序代码) .csproj      项目文件(管理文件项) .sln         解决方案文件(管理项目) .config   ...

  7. 成为一名优秀的C程序员

    英文原文:To become a good C programmer 问题的提出 每过一段时间我总会收到一些程序员发来的电子邮件,他们会问我是用什么编程语言来编写自己的游戏的,以及我是如何学习这种编程 ...

  8. Java对象、引用、实例

    https://blog.csdn.net/zmx729618/article/details/54093075

  9. wsl install lamp

    sudo apt-get update sudo apt-get install lamp-server^ /etc/init.d/apache2 start /etc/init.d/mysql st ...

  10. Linux下的awk文本分析命令实例&lpar;一&rpar;

    1.  入门实例1.1 显示最近登录的5个帐号: [root@localhost ~]# | awk '{print $1}' root root root root reboot 1.2 如果只是显 ...