• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
导航菜单
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx
您的位置:首页 > 服务器 >虚拟化 > 什么是Docker? Docker入门教程

什么是Docker? Docker入门教程

作者:wenjingyi 字体:[增加 减小] 来源:互联网

本文主要包含docker入门实战,docker从入门到实战,Docker,入门教程等服务器相关知识,wenjingyi 希望可以进行参考

 

概述

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的  Linux 机器上,也可以实现 虚拟化 。

docker的配图很形象。一只鲸鱼(容器)上面装载着货物(应用)。

docker安装

debian/ubuntu等系统可以直接下载deb进行安装

docker repo

sudo dpkg -i package-name.deb

其他平台参照 docker官网 docker hello world

安装好docker之后,执行下面语句确认docker是否安装成功

sudo docker info

如果docker没有启动,则执行

sudo /etc/init.d/docker start
或
sudo service docker start

执行下面的语句启动一个docker容器

sudo docker run -i -t ubuntu:14.04 /bin/bash

docker run ,运行容器的命令 -i -t , 执行docker以交互(将执行的过程显示到shell中)的形式启动容器 ubuntu:14.04 , ubuntu表示镜像名,14.04表示镜像的标签 /bin/bash , 表示要让启动的容器执行/bin/bash语句

首次执行这段代码时,docker会下载ubuntu:14.04对应的镜像。

docker镜像和容器

镜像和容器,是docker中最最重要的两个概念。

镜像:在某一操作系统(一般是linux)的基础上,添加某个服务(如mysql服务),所构成的一个处于静态的系统镜像,可以理解为某系统的iso镜像文件。(我自己的理解[捂脸])

容器:根据镜像安装之后的状态

sudo docker images

上面语句列出本电脑(宿主机)上的镜像

sudo docker pull redis:3

上面语句可以从docker官方hub中获取一个镜像名为redis且标签为3的镜像。看它的名字可以知道是安装了redis 3 版本的镜像

镜像的自定义 创建一个安装好redis服务器的镜像

1 . 创建目录和Dockerfile

2. 下载163的源文件到redis文件夹下,和Dockfile同一目录下(由于ubuntu原来的软件源贼慢,所以将其替换)

3. 编写Dockfile,Dockfile中的内容如下

FROM ubuntu:14.04
MAINTAINER dkpaulwen "wen229267643@gmail.com"

ADD $PWD/sources.list.trusty /etc/apt/sources.list
RUN ["apt-get","-y","update"]
RUN ["apt-get","-y","install","redis-server","redis-tools"]

EXPOSE 6379

CMD ["/usr/bin/redis-server"]

FROM ubuntu:14.04 : 表明我们所构建的镜像是基于ubuntu:14.04镜像的 MAINTAINER name email : 构建人的名字和邮箱 ADD path1 path2 : 将宿主机中的path1文件/目录 复制到 docker中 RUN ["command","option",...] : 表示执行command命令 , 也可以写作 RUN command option parameter 这样的形式。上面执行的两个语句更新了源,安装了redis EXPOSE 6379 : 表示docker机会将6379端口暴露给宿主机,可以将宿主机的某个端口与这个端口连接,这样就可以在外部使用这个容器中运行的应用 CMD ["command","option",...] : 表示启动容器时若不指定执行的命令,就执行这个命令指定的命令

4 . 构建镜像

在redis目录下执行命令

sudo docker build -t dkpaulwen/redis .

-t 选项用来告诉docker daemon要构建的镜像的仓库名和镜像名为dkpaulwen/redis,其中dkpaulwen为仓库名,redis为镜像名

sudo docker images

查看镜像

root@iZm5ejdk51ejf0nkzwz3koZ:~/dockers/redis# docker images
REPOSITORY   TAG     IMAGE ID   CREATED    VIRTUAL SIZE
dkpaulwen/redis  latest    eb4b76ccb49c  18 minutes ago  213.4 MB

5. 用自定义的镜像创建容器

执行下面的命令

sudo docker run -d -p 6379 --name myredis dkpaulwen/redis

-d 选项告诉docker以后台的形式启动容器 -p 6379 告诉docker将docker机的6379端口与宿主机的随机端口(随机分配一个大端口号)相关联,也可以这样 -p 6666:6379,前者是宿主机,后者docker机 --name myredis 指定容器名 dkpaulwen/redis 是镜像名 这里没有指定要执行的命令,默认执行Dockerfile中的CMD指定的命令

6. 查看创建的docker容器

docker ps 命令

root@iZm5ejdk51ejf0nkzwz3koZ:~/dockers/redis# docker ps
CONTAINER ID  IMAGE    COMMAND     CREATED    STATUS    PORTS      NAMES
3e1366140973  dkpaulwen/redis  "/usr/bin/redis-serve" 23 minutes ago  Up 23 minutes  0.0.0.0:32788->6379/tcp myredis

这里包含容器的一些属性,其中一个是ports——端口,可以看到,0.0.0.0:32788 -> 6379/tcp ,32788是宿主机端口,6379是被关联的docker容器端口,类型是tcp

7. 连接这个容器

redis-cli -h localhost -p 32788
root@iZm5ejdk51ejf0nkzwz3koZ:~/dockers/redis# redis-cli -h localhost -p 32788
localhost:32788> get username
"glen"
localhost:32788>

因为我在我的服务器上安装的docker,所以我也可以在自己的电脑上连接服务器上的docker容器

paul@paul-Inspiron-5420:~$ redis-cli -h www.wenjingyi.top -p 32788
www.wenjingyi.top:32788> get username
"glen"
www.wenjingyi.top:32788>

您可能感兴趣的文章:

  • Docker安装和简单使用入门教程
  • docker快速入门教程
  • Docker安装和基础用法 Docker入门教程第二篇
  • 什么是docker Docker入门教程第一篇
  • Docker学习笔记之docker入门
  • Docker快速入门以及环境配置详解
  • 使用IPython来操作Docker容器的入门指引
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 什么是Docker? Docker入门教程
  • Docker快速入门以及环境配置详解

相关文章

  • Centos 6.5中安装docker的步骤(简洁版)
  • vmware虚拟机怎么克隆 VMware11.0.0虚拟机克隆
  • Docker创建镜像、怎么修改、上传镜像等详细介绍
  • VirtualBox 共享文件夹设置及开机自动挂载详细教程
  • Docker 配置固定IP及桥接的实现方法
  • 详解VMware12使用三台虚拟机Ubuntu16.04系统搭建hadoop-2.7.1+hbase-1.2.4(完全分布式)
  • Docker容器内不能联网的6种解决方案
  • virtualbox虚拟机上安装centOS的网络配置详解
  • 详解VMware虚拟机网络连接模式(NAT,Bridged,Host-only)
  • 从0开始了解Docker入门(小结)

文章分类

  • windows
  • 服务器硬件
  • 服务器运维
  • 云计算
  • 虚拟化
  • IIS教程
  • Linux
  • Apache
  • Ftp
  • DNS
  • Nginx

最近更新的内容

    • 使用Docker开发python Web 应用
    • CoreOS配置Docker镜像加速器的方法
    • Docker搭建简单的应用栈与容器Hello World访问详解
    • 详解在Ubuntu 14.04安装和使用Docker
    • Spark三种属性配置方式详解
    • Docker容器之内网独立IP访问的方法
    • VirtualBox详细安装使用教程(图文)
    • 详解Docker中容器的备份、恢复和迁移
    • 详解Docker 国内镜像的配置及使用
    • OpenStack云计算快速入门教程(1)之OpenStack及其构成简介

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有