Docker概述和相关命令

Docker概述

  • Docker 是一个开源的应用容器引擎,诞生于 2013 年初,基于 Go 语言实现,dotCloud 公司出品(后改名为Docker Inc)。
  • Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上。
  • 容器是完全使用沙箱机制,相互隔离
  • 容器性能开销极低。
  • Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)

安装docker

# 1、yum 包更新到最新 
yum update
# 2、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的 
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4、 安装docker
yum install -y docker-ce
# 5、 查看docker版本,验证是否验证成功
docker -v

配置docker镜像加速

默认情况下,将来从docker hub(https://hub.docker.com/)上下载docker镜像,太慢。一般都会配置镜像加速器:
+ USTC:中科大镜像加速器(https://docker.mirrors.ustc.edu.cn)
+ 阿里云
+ 网易云
+ 腾讯云

阿里云: https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

设置开机启动

systemctl enable docker

docker架构

Docker概述和相关命令

镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。

容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。

仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

docker镜像相关命令

查看镜像

查看本地所有的镜像

docker images
docker images –q # 查看所用镜像的id

搜索镜像

docker search **

也可以在 https://hub.docker.com/ 搜索

拉取镜像

docker pull **

可以带上tag指定版本,例如:

docker pull mysql:5.7

移除镜像

docker rmi 镜像id

docker容器相关命令

运行容器并在容器中打开命令行

docker run -it --name=c1 debian /bin/bash

使用--name=**可以指定容器的名称

使用exit退出

  • -i:保持容器运行
  • -t:为容器分配一个伪输入终端,通常和-i配合使用

创建后台运行的容器

docker run -id --name=c2 debian

运行命令后会显示容器的id

如果要进入后台运行的容器环境,使用

docker exec -it c2 /bin/bash

后台运行的容器使用exit退出不会自动关闭。

  • -d:以守护模式运行容器

-it创建的容器一般称为交互式容器,-d创建的容器一般称为守护式容器

查看运行中的容器

docker ps

运行结果

CONTAINER ID    IMAGE       COMMAND         ...     NAMES   
00723499fdbf    debian      "/bin/bash"     ...     stupefied_turing

name可以标识这个容器

使用docker ps -a可以看到所有容器(包括不在运行的)

停止运行容器

docker stop c2

启动容器

docker start c2

docker run的区别是docker start是重启已存在的容器,而docker run是从镜像创建容器。

查看容器信息

docker inspect 

查看容器被改动的文件

docker diff

查看容器历史记录

docker logs

删除容器

删除指定容器

docker rm dockername

获取所有已停止的容器

docker ps -aq -f status=exited 

删除所有已停止的容器

docker rm -v $(docker ps -aq -f status=exited)

将容器提交为镜像

docker commit container_name repo/image_name

repo是存放镜像的仓库名称,这个命令将会返回一个镜像的唯一识别码

原创文章,作者:彭晨涛,如若转载,请注明出处:https://www.codetool.top/article/docker%e6%a6%82%e8%bf%b0%e5%92%8c%e7%9b%b8%e5%85%b3%e5%91%bd%e4%bb%a4/

发表评论

电子邮件地址不会被公开。