docker入门:安装以及基本的命令

Ubuntu 16.04 64位、Mac下

什么是Docker?

  • Docker是一个开源的应用容器引擎
  • 开发者可以打包应用以及依赖包到一个可移植的容器中,然后可以发布到任何流行的unix系统中
  • 容器是完全地使用沙箱机制,相互之间不会有任何接口

为什么要用Docker

  • Docker中运行的容器,没有进行硬件虚拟以及运行完整操作系统等额外开销,Docker 对系统资源的利用率更高。
  • Docker的启动速度往往都是可以做到秒级的
  • Docker 的镜像提供了除内核外完整的运行时环境,确保了应用运行环境一致性
  • 迁移更方便,docker是跨平台的,Windows、Mac、Linux都支持
  • Docker支持镜像二次制作发布、复用

如何使用呢?

安装

mac下

$ brew cask install docker

或者直接下载:https://download.docker.com/mac/stable/Docker.dmg

ubuntu下

$  curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -

$  sudo  add-apt-repository \
        "deb  [arch=amd64]  https://mirrors.aliyun.com/docker- 
         ce/linux/ubuntu \
         $(lsb_release -cs) \
         stable "
$  sudo  apt-get  update

$  sudo  apt-get  install  docker-ce

基本用法 (nginx镜像为例)

$  docker  pull  nginx:latest

docker  pull是用来获取官方那边的docker镜像,获取到镜像之后,使用 docker  images来查看获取到本地的镜像

国内docker pull的时候,比较慢,这里介绍一个国内的源

  • ubuntu
$ cd /etc/docker
$ touch daemon.json

在daemon.json里面写入:

{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]
}

之后重启docker

  • Mac

填入https://docker.mirrors.ustc.edu.cn/或者如图的链接

$ docker run --name nginx_test -d -p 80:80 nginx:latest

docker  run是运行该镜像,”-p  80:80” 意思是将本地的80端口映射到容器的80端口,--name是给这个容器命名,-d  参数是将它作为守护进程在后台运行

 $ docker images

docker images是列出来自己本地所有的镜像

$  docker  ps

docker ps是查看已经启动的容器

$  docker  exec  -it  nginx_test  /bin/bash

docker  exec  -it 是进入该容器里面,后面可以跟容器的ID,也可以跟容器名,/bin/bash是以shell模式下运行,默认情况是ubuntu的bash

$  docker run –p 80:80  --name nginx_test  \
     -v  /var/www/html:/etc/www/html

 -v参数是将本地文件挂载到容器内

$  docker  run  -it  nginx:latest  /bin/bash

镜像没有在容器运行的时候,可以通过docker  run  -it  xxx:xxx  /bin/bash来以shell的方式来进入

$  docker  rmi nginx:latest

删除nginx镜像 

Docker容器运行之后,可以进去里面安装一些比如vim等的工具

  • 下面介绍一些对运行的容器命令
  • 停止容器运行:
$ docker stop <container id> /<container name>
  • 运行之前停止的
$ docker start <container id> /<container name>
  • 重启运行中的容器
$ docker restart <container id> /<container name>
  • 删除容器
$ docker  rm  <container id> /<container name>

(删除之前要先停止运行该容器)

镜像与容器的关系

  • Docker的镜像,可以运行很多的容器,也就是说可以一对多的关系,注意的是,每个运行的容器名称、ID是不一样的
  • 各个容器之间互不影响,一个容器中安装的一些工具对其他相同镜像下的其他容器是完全没有影响的
  • 容器是必须要建立在存在镜像的基础上的,无镜像,无容器

下篇介绍Dockerfile以及docker-compose工具

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在Ubuntu 18.04上安装Docker Compose

Docker是一个很好的工具,用于在软件容器中自动部署Linux应用程序,但要充分利用其潜力,应用程序的每个组件都应该在自己的单独容器中运行。对于具有大量组件的...

1322
来自专栏搜云库

Docker Compose 1.18.0 之服务编排详解

一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose,不再需要使用shell脚本来启动容器。在配置文件中,所有的容器通过serv...

1997
来自专栏Samego开发资源

Dockerfile再恋笔记 | 详解篇

2023
来自专栏刘天斯的专栏

Docker 远程 python API 操作容器一例

Docker-py 作为官方推出的客户端API,功能可以满足我们大部分操作需求,本文介绍如何通过DockerFile创建一个WEB服务的镜像,再通过远程API对...

9521
来自专栏搜云库

Docker Compose 1.18.0 之服务编排详解

一个使用Docker容器的应用,通常由多个容器组成。使用Docker Compose,不再需要使用shell脚本来启动容器。在配置文件中,所有的容器通过serv...

32510
来自专栏喵了个咪的博客空间

Docker使用命令和技巧

1125
来自专栏Brian

Docker 学习系列二之基本管理

---- 概述 之前对docker的基本的工作原理进行了简单的介绍和学习Docker工作原理 今天开始不断的学习Docker的容器、镜像和仓库管理。 Docke...

3334
来自专栏Janti

每天学一点Docker(5)——了解Docker架构

Docker的核心组件: 1.Docker客户端 - Client 2.Docker服务器 - Docker deamon 3.Docker镜像 - Image...

37310
来自专栏Pythonista

docker构建镜像

Docker 运行容器前需要本地存在对应的镜像,如果本地不存在该镜像,Docker 会从镜像仓库下载该镜像。

713
来自专栏搜云库

Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Nginx

Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署、测...

2126

扫码关注云+社区