docker入门

本文涉及的产品
云数据库 Redis 版,标准版 2GB
推荐场景:
搭建游戏排行榜
云原生内存数据库 Tair,内存型 2GB
简介:

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

相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
目录
相关文章
|
22天前
|
NoSQL 关系型数据库 MySQL
docker部署jumpserver及入门
docker部署jumpserver及入门
|
29天前
|
应用服务中间件 nginx Docker
【与时俱进】网络工程师必备技能:Docker基础入门指南,助你轻松应对新时代挑战!
【8月更文挑战第22天】随着容器技术的发展,Docker已成为开发与运维的关键工具。本文简要介绍Docker——一种开源容器化平台,能让应用程序及依赖项被打包成轻量级容器,在任何Linux或Windows机器上运行。文中涵盖Docker的安装步骤、基础命令操作如启动服务、查看版本、拉取与运行容器等。并通过实例演示了如何运行Nginx服务器和基于Dockerfile构建Python Flask应用镜像的过程。这些基础知识将助力网络工程师理解Docker的核心功能,并为实际应用提供指导。
48 2
|
4天前
|
Kubernetes Cloud Native 开发者
云原生入门:从Docker到Kubernetes的旅程
【9月更文挑战第16天】 本文将带你进入云原生的世界,从理解Docker容器的基础开始,逐步深入到Kubernetes集群管理。我们将通过简单的代码示例和实际操作,探索这两个关键技术如何协同工作,以实现更高效、灵活的应用程序部署和管理。无论你是云原生新手还是希望深化理解,这篇文章都将为你提供清晰的指导和实用的知识。
30 11
|
26天前
|
Kubernetes Cloud Native Docker
云原生入门指南:从Docker到Kubernetes的旅程
【8月更文挑战第26天】在这篇文章中,我们踏上了一段探索云原生世界的旅程。从理解Docker容器的基础概念开始,逐步深入到使用Kubernetes进行容器编排,每一步都以通俗易懂的语言和实际代码示例为引导。文章旨在启发读者思考云原生技术如何改变软件开发、部署和管理的方式,以及这些变革对个人职业生涯的意义。通过这段旅程,我们将发现,正如甘地所言,成为我们希望在世界上看到的改变,正是通过学习和实践云原生技术来实现的。
|
1月前
|
存储 Ubuntu Linux
如何安装和使用 Docker:入门指南
如何安装和使用 Docker:入门指南
61 1
|
1月前
|
Ubuntu Linux Docker
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
弃用Docker Desktop:在WSL2中玩转Docker之Docker Engine 部署与WSL入门
347 4
|
1月前
|
Docker 容器
Docker 入门常用命令
Docker 入门常用命令
22 1
|
20天前
|
运维 开发者 Docker
Docker容器部署实战:从入门到精通
【8月更文挑战第31天】 本文将引导读者了解如何使用Docker容器技术来简化和加速应用程序的部署过程。文章将通过实际案例探讨Docker的基本概念、架构,以及如何创建、管理和维护Docker容器。我们将通过详细的代码示例和操作指导,展示如何在本地环境或云基础设施上部署应用,并讨论如何克服在实际部署中可能遇到的挑战。无论你是DevOps工程师、软件开发者还是IT专业学生,本文都将为你提供深入理解并有效使用Docker的全面指南。
|
20天前
|
Kubernetes Cloud Native 云计算
云原生入门:从Docker到Kubernetes的旅程
【8月更文挑战第31天】 在数字化转型的浪潮中,云原生技术成为推动现代软件开发的关键力量。本文将引导读者理解云原生的基本概念,通过Docker和Kubernetes的实际应用示例,展示如何在云平台上部署和管理容器化应用。我们将一起探索服务编排、持续集成和微服务架构的实践之路,旨在为初学者揭开云原生技术的神秘面纱,并激发对这一前沿领域的深入探索。
|
20天前
|
运维 Kubernetes Cloud Native
云原生技术入门:Kubernetes和Docker的协同工作
【8月更文挑战第31天】 在云原生的世界里,容器技术是基石。本文将带你了解如何通过Kubernetes和Docker这两个强大的工具,搭建起你的云原生应用架构。我们将一起探索它们如何相互配合,提升开发与运维的效率。准备好了吗?让我们启航,探索云原生的奥秘!