Docker基础操作

Docker是什么?

   Docker是一个虚拟环境容器,可以将你的环境、代码、配置文件等一并打包到这个容器中,并发布和应用到任意平台中。比如,你在本地部署了git,jenkins等,可以将其与插件一并打包到容器中,部署到任何你想部署的环境。简单而迅速

Docker的三个概念

  1. 镜像(Image):类似于虚拟机中的镜像,是一个包含有文件系统的面向Docker引擎的只读模板。任何应用程序运行都需要环境,而镜像就是用来提供这种运行环境的。例如一个Ubuntu镜像就是一个包含Ubuntu操作系统环境的模板,同理在该镜像上装上Apache软件,就可以称为Apache镜像。
  2. 容器(Container):类似于一个轻量级的沙盒,可以将其看作一个极简的Linux系统环境(包括root权限、进程空间、用户空间和网络空间等),以及运行在其中的应用程序。Docker引擎利用容器来运行、隔离各个应用。容器是镜像创建的应用实例,可以创建、启动、停止、删除容器,各个容器之间是是相互隔离的,互不影响。注意:镜像本身是只读的,容器从镜像启动时,Docker在镜像的上层创建一个可写层,镜像本身不变。
  3. 仓库(Repository):类似于代码仓库,这里是镜像仓库,是Docker用来集中存放镜像文件的地方。注意与注册服务器(Registry)的区别:注册服务器是存放仓库的地方,一般会有多个仓库;而仓库是存放镜像的地方,一般每个仓库存放一类镜像,每个镜像利用tag进行区分,比如Ubuntu仓库存放有多个版本(12.04、14.04等)的Ubuntu镜像。

Ubuntu Docker 安装

Docker 支持以下的 Ubuntu 版本:

  • Ubuntu Precise 12.04 (LTS)
  • Ubuntu Trusty 14.04 (LTS)
  • Ubuntu Wily 15.10
  • 其他更新的版本……

前提条件

Docker 要求 Ubuntu 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的 Ubuntu 版本是否支持 Docker。

通过 uname -r 命令查看你当前的内核版本

runoob@runoob:~$ uname -r

安装 Docker

1:curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/internet | sh -

2:centos安装  yum -y install docker.io

3:ubuntu安装 apt-get install docker.io

启动docker服务

sudo service docker start

配置镜像加速器。(亲测,加速之后,下载速度提升20倍左右)这里配置的是阿里云的镜像加速器

注册阿里云,打开容器镜像服务,获取镜像加速器地址:阿里云镜像仓库

执行以下命令(不知道这个加速器地址是否做了唯一性判断

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://1vtrf9ho.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

到这里,docker的基础安装就算完成了。

 docker -- version 查看版本

-----------------------------------分隔符--------------------------------------

Docker中关于镜像的基本操作

1:获取镜像

可以使用  docker pull  命令来从仓库获取所需要的镜像。

执行 sudo docker pull ubuntu:12.04

下载过程中,会输出获取镜像的每一层信息。 该命令实际上相当于 $ sudo docker pull registry.hub.docker.com/ubuntu:12.04 命令,即从注册服 务器 registry.hub.docker.com 中的 ubuntu 仓库来下载标记为 12.04 的镜像。

完成后,即可随时使用该镜像了,例如创建一个容器,让其中运行 bash 应用

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

执行ctrl+D撤出该容器

列出本地所有镜像 sudo docker images

在列出信息中,可以看到几个字段信息 来自于哪个仓库,比如 ubuntu 镜像的标记,比如 14.04 它的 ID 号(唯一) 创建时间 镜像大小

列出本地所有容器 docker ps -a

启动容器  sudo docker run ubuntu /bin/bash    标红的为容器名称  

因为默认启动的是tag名为latest的镜像,但是没有找到,于是docker自作主张又下了一个,并打了一个latest的标签。。。

现在我们把这个多出来的镜像删掉,执行docker -rmi -f  ubuntu 

基本命令总结:

sudo service docker start 启动docker

sudo service docker stop 停止docker  

sudo docker images 查看所有镜像

docker rmi <image id>删除images

docker rmi -f {TAG}  根据tag删除images

docker rmi $(docker images -q)删除全部image

docker rmi $(docker images | grep "^<none>" | awk "{print $3}")  删除untagged images,也就是那些id为<None>的image

sudo docker ps -a 查看所有容器

docker stop CONTAINER ID 停用容器

docker rm CONTAINER ID 删除容器

docker stop $(docker ps -a -q) 停用所有容器

docker rm $(docker ps -a -q) 删除所有容器

docker stop $(docker ps -q) & docker rm $(docker ps -aq) 停用并删除所有容器

docker pull {镜像名称} 拖镜像

docker run -d -p {映射端口}:{本地端口} --name{自定义名称} {镜像名称:tag标签}     运行镜像

docker exec -it {container names} bash  进入容器

sudo dockerlogin --username={阿里云用户名} {远程仓库名称} 登录阿里云远程仓库

sudo docker tag [ImageId] {远程仓库名称}:[TAG]   修改镜像名称  

sudo docker push registry.cn-hangzhou.aliyuncs.com/msj:[TAG] 上传镜像到阿里云远程仓库

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

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Docker容器学习梳理--Volume数据卷使用

之前部署了Docker容器学习梳理--基础环境安装,接下来看看Docker Volume的使用。 Docker volume使用 Docker中的数据可以存储在...

7618
来自专栏互联网开发者交流社区

SpringBoot与docker

1212
来自专栏编程坑太多

跟我一起学docker(四)--容器的常用操作

1593
来自专栏王小雷

实例解析Docker数据卷+数据卷容器+flocker数据共享+DockerHub操作

Docker内部数据管理和Docker之间的数据共享为数据卷和数据卷容器,实例解析1.将本地的文件作为容器的数据卷,2.数据卷flocker插件实现容器集群(或...

4436
来自专栏人工智能

发现Docker的IP地址

我们使用Eclipse Che在Docker上编写了很多实用程序。它们占用空间小,便于携带,可以在许多不同的操作系统上运行,而无需用户安装额外的软件。

2900
来自专栏緣來來來

Mac下Docker容器的安装和简单使用

https://store.docker.com/editions/community/docker-ce-desktop-mac

2K2
来自专栏北京马哥教育

Docker常用命令汇总

一、查看docker信息 1、查看docker版本 docker version 2、显示docker系统的信息 docker info 二、对image的...

3659
来自专栏zhisheng

Docker 入门(二):从实例来看 Dockerfile 和 Compose

上一文中提到,每次对容器做了改动,如果不把它 commit 成新的镜像,在删除容器后,数据也会丢失,有没有什么更好的办法来保存数据呢?使用数据卷就可以解决这个问...

3925
来自专栏python3

Docker安装

安装之前,我们首先确保自己的linux系统内核版本高于3.10,并且系统是64位,才能体验Docker。所以我用的是Centos7.3

3902
来自专栏编程坑太多

『中级篇』构建自己的Docker镜像(16)

1585

扫码关注云+社区

领取腾讯云代金券