docker入门

Docker

简介

  • Docker 是一个开源的应用容器引擎 理解为加强版虚拟机
  • 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。

个人理解

  • docker中的容器是动态的,随时创建和销毁,只有镜像是持久化的
  • 而且容器是一个虚拟出来的功能完备的Linux操作系统可以进行登录运行命令
  • docker images来得到所有的本地镜像名,使用docker run --name {name} -d {image-name} 以某容器来启动某个镜像
  • 然后docker ps查看运行状况

docker安装与卸载

通过deb文件方式来安装:
开始安装
  • sudo dpkg -i deb文件
  • 测试安装成功 sudo docker run hello-world
卸载docker
  • sudo apt-get purge docker-ce
  • sudo rm -rf /var/lib/docker

常规使用

  • 如果出现命令执行失败,可以登录docker的控制台直接执行 boot2docker ssh

镜像命令

  • 搜索 : docker search 镜像名
  • 安装 : docker pull 镜像名
  • 查看 : docker images
  • 删除 :docker rmi image-id

容器命令

  • 运行:docker run --name conrainer-name -d image-name

    • --name 后配置容器名字
    • -d image 名字

Dockerfile使用

使用入门案例
  • 新建目录然后 touch Dockerfile gedit Dockerfile
    #随意写的
    FROM redis
    MAINTAINER Mythos
    ENV DIRPATH /path
    WORKDIR $DIRPATH/$DIRNAME
    RUN pwd
  • docker build . 如果之前得到一个没有名字的镜像
  • docker build -t repository/tag . 给镜像指定名字
  • docker run --name ContainerName -d repository/tag 新建容器来运行镜像

  • Dockerfile是一个镜像的表示,可以通过Dockerfile来描述构建镜像的步骤,且可以自动构建一个容器
  • 所有的 Dockerfile 命令格式都是: INSTRUCTION arguments
  • 最好在运行这个配置文件的时候新建一个空目录目录下放dockerfile,不要使用根目录,不然全部的东西都传到守护进程里去了
    • 因为生成过程的第一件事是将整个上下文 (递归) 发送到守护进程。
  • 同样的可以使用.dockerignore文件来忽略不要上传的文件
  • docker build
    • -f 指向任意位置的文件进行配置 docker build -f /path/to/a/Dockerfile .
    • 您使用docker构建的-f标志指向文件系统中任何位置的Dockerfile。
    • -t如果构建成功 可以指定保存新镜像的repository和tag (多个的话就多个 -t就行了,例如 docker build -t shykes/myapp:1.0.2 -t shykes/myapp:latest .)

RUN

.dockerignore 文件的使用

  • .dockerignore文件是依据 Go的PathMatch规范来的,使用和.gitignore类似

安装 redis

  • 获取镜像:docker pull redis
  • 运行默认配置的容器:docker run --name test-redis -d redis
  • 使用本地配置文件启动redis容器
  • sudo docker run -v /myredis/conf/redis.conf:/usr/local/etc/redis/redis.conf --name myredis redis redis-server /usr/local/etc/redis/redis.conf
  • 查看当前运行的容器:docker ps
    • 查看所有容器 :docker ps -a
  • 停止容器:docker stop 容器name或id
  • 启动容器:docker start 容器name或id
  • port-redis容器的端口映射:sudo docker run -d -p 6379:6379 --name port-redis redis
  • 删除容器:docker rm 容器id
    • 删除所有容器:docker rm ${docker -a -q}
  • 容器日志:docker logs 容器name或id
  • 登录容器:docker exec -it 容器name或id bash


docker pull wnameless/oracle-xe-11g
docker pull mongo
docker pull cloudesire/activemq
docker pull rabbitmq
socker pull rabbitmq:3-management

时间: 2024-10-28 17:32:53

docker入门的相关文章

Docker安装和基础用法 Docker入门教程第二篇_docker

本系列文章将介绍Docker的有关知识: (1)Docker 安装及基本用法 (2)Docker 镜像 (3)Docker 容器的隔离性 - 使用 Linux namespace 隔离容器的运行环境 (4)Docker 容器的隔离性 - 使用 cgroups 限制容器使用的资源 (5)Docker 网络 1. 安装 1.1 在 Ubuntu 14.04 上安装 Docker 前提要求: 内核版本必须是3.10或者以上 依次执行下面的步骤: sudo apt-get update sudo apt

什么是docker Docker入门教程第一篇_docker

Docker是个新生的事物,概念类似虚拟化.网上关于Docker入门的东西已经很多了.不过本文探讨了Docker的特点.特性.原理,还介绍了具有中国特色的安装测试过程,另外还谈到了Docker的社区生态和Dockerfile,并使用Dockerfile构建一个nginx环境. 缘起 在几个月前听说Docker,但是一直没有时间去研究,前一段时间趁着azure免费试用,赶紧实验一下,但是卡在了ubuntu基础镜像的下载上(由于国内网络的特殊原因),所以也就搁浅了,这里把经验和体会分享一下. Doc

我的碎碎念:Docker入门指南

本文讲的是我的碎碎念:Docker入门指南,[编者的话]之前曾经翻译过很多Docker入门介绍的文章,之所以再翻译这篇,是因为Anders的角度很独特,思路也很调理.你也可以看下作者的演讲稿<Docker, DevOps的未来>.本文介绍了Docker的一些基本概念.诱人的特性.Docker的工作原理.日常管理基本操作,以及一些Docker的问题的解决方案. 什么是Docker,你应该知道些什么? 相比很多人的解释,我相信说Docker是一个轻量级的虚拟机更容易理解.另外一种解释是:Docke

[Docker入门系列教程] 目录索引

  Docker是一个开源平台,使开发者和系统管理员可以构建.发布和运行分布式应用.Docker包括Docker引擎.可移植的轻量级运行环境和打包工具,Docker Hub提供了分享应用和自动化工作流的云服务,Docker可以使应用由多个组件快速装配起来,消除了开发.测试和生产环境的差异.因此,应用可以更快地发布,可以运行在本地.数据中心虚拟设备和任何云端,无需更改任何配置.  下面是我之前写的Docker入门系列文章的目录索引,感兴趣的朋友可以点击文章链接查看.   [Docker系列·0]

Docker入门教程(四)Docker Registry

本文讲的是Docker入门教程(四)Docker Registry,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第四篇,介绍了Docker Registry,它是Docker中的重要组件.本文通过情景演绎的方式对其进行了介绍,图文并茂,强烈推荐读者阅读. 在Docker系列教程的上一篇文章中,我们讨论了Dockerfile的重要性并提供了一系列Dockerfile的命令,使镜像的自动构建更加容易.在这篇文章中,我们将介绍Docker的一个重要组件

Docker入门教程(八)Docker Remote API

本文讲的是Docker入门教程(八)Docker Remote API,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第八篇,重点介绍了Docker Remote API. 在Docker系列教程的上一篇文章中,我们学习了Docker Hub 以及 Docker Registry API.在本文中,让我们来看看Docker Remote API. Docker Remote API Docker Remote API是一个取代远程命令行界面(rcl

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

本文讲的是Docker入门教程(六)另外的15个Docker命令,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第六篇,继续介绍Docker命令.之前的第二篇文章中我们就介绍了一些基本的Docker命令,本文过后,你将会接触到所有的Docker常用命令.努力学习吧. 在之前的文章中,我们介绍了15个Docker命令,并分享了它们的实践经验.在这篇文章中,我们将学习另外的15个Docker命令.它们分别是: daemon: Docker daemon

大白话Docker入门(一)

大白话Docker入门(一) 随着docker现在越来越热门,自己也对docker的好奇心也越来越重,终于忍不住利用了一些时间把docker学习一遍.目前的资料不少,但是由于docker的发展较快,每个团队对docker的关注点也并不相同,大部分的文章还是不够完整和易懂,所以希望有这样一篇文章能让大家通过简单的阅读来客观全面的认识一下docker. (提前申明一下,文章内容不会涉及较深入的使用,主要为了阐述docker的概念和入门的使用.并且我也是docker的初学者,并没有过丰富的使用经验,所

大白话Docker入门(二)

大白话Docker入门(二) 上篇的大白话Docker入门(一)让我们认识了docker,知道docker大概是怎么玩的.初步的印象可能会让你觉得和现在的VM的部署方式也挺像的,比如docker image就是一个系统备份文件,docker container就是一个跑起来的vm,那docker到底又有什么特别的呢? 不一样的Docker 简单的列一下目前这个阶段我们很容易发现的几点: docker image的体积非常的小,注意看下之前我们用到的几个image的size,一个完整功能的ubun

Docker入门教程(七)Docker API

本文讲的是Docker入门教程(七)Docker API,[编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第七篇,重点介绍了Docker Registry API和Docker Hub API. 纵观我们的Docker系列教程,我们已经讨论了很多重要的Docker组件与命令.在本文中,我们将继续深入学习Docker:剖析Docker APIs. Docker提供了很多的API以便用户使用.这些API包含四个方面: Docker Registry AP