docker入门

本文涉及的产品
云数据库 Redis 版,社区版 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
目录
相关文章
|
1月前
|
关系型数据库 MySQL Java
Docker Compose详细教程(从入门到放弃)
Docker Compose详细教程(从入门到放弃)
135 0
|
4月前
|
Kubernetes 关系型数据库 MySQL
Docker Compose入门:打造多容器应用的完美舞台
Docker Compose 是一个强大的工具,它允许开发者通过简单的 YAML 文件定义和管理多容器的应用。本文将深入讨论 Docker Compose 的基本概念、常用命令以及高级应用场景,并通过更为丰富和实际的示例代码,助您轻松掌握如何通过 Docker Compose 打造复杂而高效的多容器应用。
|
2月前
|
运维 虚拟化 开发者
Docker-全面详解(学习总结---从入门到深化)
Docker-全面详解(学习总结---从入门到深化)
48 1
|
3月前
|
大数据 数据管理 Docker
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
【Datahub系列教程】Datahub入门必学——DatahubCLI之Docker命令详解
218 0
|
8天前
|
存储 Ubuntu 关系型数据库
Docker从入门到精通:ubuntu系统安装docker
本文介绍了Docker的安装过程。首先,文章简述了Docker的组成部分:镜像(如模板用于创建容器服务)、容器(运行应用的独立实体)和仓库(存储镜像的库)。接着,针对Ubuntu系统,详细阐述了卸载旧版本Docker、更新软件包、安装依赖、添加Docker官方GPG密钥和软件源、安装Docker以及配置用户组的步骤。最后,通过启动Docker、验证安装是否成功(运行`hello-world`镜像)和查看Docker版本来确认安装完成。
42 12
|
16天前
|
Ubuntu Linux Shell
docker学习笔记3,从入门到精通
docker学习笔记3,从入门到精通
|
16天前
|
应用服务中间件 Shell nginx
docker学习笔记2,入门到精通
docker学习笔记2,入门到精通
|
16天前
|
Ubuntu 网络协议 Docker
docker学习笔记1,入门到精通
docker学习笔记1,入门到精通
|
2月前
|
Java Linux Docker
Docker入门到实战
Docker入门到实战、Centos7安装Docker
|
2月前
|
IDE 数据中心 Docker
使用PyCharm与Docker容器进行开发:从入门到精通
使用PyCharm与Docker容器进行开发:从入门到精通
302 0