Docker快速入门指南(一)-基础命令

Docker

1. Docker概述

1.1. Docker简介

Docker 是一个开源的应用容器引擎,基于 Go 语言开发。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app),更重要的是容器性能开销极低。

  • Docker应用场景
    • Web 应用的自动化打包和发布
    • 自动化测试和持续集成、发布
    • 在服务型环境中部署和调整数据库或其他的后台应用
    • 使用Docker可以实现开发人员的开发环境、测试人员的测试环境、运维人员的生产环境的一致性。

1.2 Docker 架构

Docker 包括三个基本概念:

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu 16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看着一个代码控制中心,用来保存镜像。

1.3 Docker组成部分

在这里插入图片描述

名称说明
Docker 镜像(Images)Docker 镜像是用于创建 Docker 容器的模板。 镜像是基于联合文件系统的一种层式结构,由一系列指令一步一步构建出来。
Docker 容器(Container)容器是独立运行的一个或一组应用。镜像相当于类,容器相当于类的实例
Docker 客户端(Client)Docker 客户端通过命令行或者其他工具使用 Docker API 与 Docker 的守护进程通信。
Docker 主机(Host)一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。
Docker守护进程是Docker服务器端进程,负责支撑Docker 容器的运行以及镜像的管理。
Docker 仓库DockerHub(Registry)Docker 仓库用来保存镜像,可以理解为代码控制中的代码仓库。DockerHub提供了庞大的镜像集合供使用。用户也可以将自己本地的镜像推送到Docker仓库供其他人下载。

2. Docker安装与启动

2.1 Docker安装

# 1、yum 包更新到最新
sudo yum update
# 2、作用:安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
# 3、 设置yum源
sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 4、 安装docker;出现输入的界面都按 y
sudo yum install -y docker-ce
# 5、 查看docker版本
docker -v

2.2 设置镜像下载源

1、编辑文件/etc/docker/daemon.json

# 执行如下命令:
mkdir /etc/docker
vi /etc/docker/daemon.json

2、在文件中加入下面内容(注意json格式)

{
	"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"]
}

2.3 Docker启动与停止命令

# 查看docker版本
docker -v
# 启动docker服务:
systemctl start docker
# 停止docker服务:
systemctl stop docker
# 重启docker服务:
systemctl restart docker
# 查看docker服务状态:
systemctl status docker
# 设置开机启动docker服务:
systemctl enable docker
# 取消开机启动docker服务:
systemctl disable docker

3. Docker常用命令

3.1 镜像相关命令

3.1.1 查看镜像
#查看本地所有镜像
docker images
3.1.2 搜索镜像
docker search [OPTIONS] 镜像名称

OPTIONS说明:

  • **–automated 😗*只列出 automated build类型的镜像;
  • **–no-trunc 😗*显示完整的镜像描述;
  • **-s 😗*列出收藏数不小于指定值的镜像。

搜索结果:

在这里插入图片描述

参数说明:

  • NAME: 镜像仓库源的名称
  • DESCRIPTION: 镜像的描述
  • OFFICIAL: 是否 docker 官方发布
  • STARS: 类似 Github 里面的 star,表示点赞、喜欢的意思。
  • AUTOMATED: 自动构建。
3.1.3 拉取镜像
#从Docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本
docker pull NAME[:TAG]
3.1.4 删除镜像
# 可以按照镜像id或镜像名[NAME[:TAG]]删除镜像,可删除多个,命令如下:
docker rmi IMAGE [IMAGE...]
#删除所有镜像【慎用】
docker rmi `docker images -q`

3.2 容器相关命令

容器,也是docker中的核心概念,容器是由镜像运行产生的运行实例。镜像和容器的关系,就如同Java语言中类和对象的关系。

3.2.1 查看容器
docker ps [OPTIONS]
# -a :显示所有的容器,包括未运行的。
docker ps -a
3.2.2 创建容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

常用参数

  • -i: 以交互模式运行容器,通常与 -t 同时使用;
  • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
  • -d: 后台运行容器,并返回容器ID,创建一个守护式容器在后台运行;
  • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
  • –name=“nginx-lb”: 为容器指定一个名称;
  • -e username=“ritchie”: 设置环境变量;
  • -v: 绑定一个卷,表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使用多个-v做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后共享到容器上。

1)创建交互式容器

​ 以交互式方式创建并启动容器,启动完成后,直接进入当前容器。使用exit命令退出容器。需要注意的是以此种方式启动容器,如果退出容器,则容器会进入停止状态。

docker run -it --name=容器名 镜像名 /bin/bash

2)创建守护式容器

​ 以守护式方式创建并启动容器,启动完成后,后台运行容器,并返回容器ID。使用exec命令进入容器。以此种方式启动容器,如果退出容器,容器也会保持后台运行。

#创建并启动守护式容器
docker run -di --name=容器名 镜像名
#登录进入容器命令为:docker exec -it container_name (或者 container_id) /bin/bash(exit退出时,容器不会停止)
docker exec -it 容器名称或者ID /bin/bash

如果宿主机遇见Nerworking will not wok提示,可以通过以下步骤处理:

•修改/etc/sysctl.conf中增加一行net.ipv4.ip_forward=1

•重启网络systemctl restart network

3.2.3 启动容器
docker start 容器名称或者ID
3.2.4 停止容器
docker stop	容器名称或者ID
3.2.5 文件拷贝
# 从宿主机拷贝数据到容器
docker cp SRC_PATH 容器:DEST_PATH
# 从容器拷贝数据到宿主机
docker cp 容器:SRC_PATH DEST_PATH
3.2.6 目录挂载
# 创建并启动容器,并使用 -v 做目录映射,在宿主机上做修改,然后共享到容器上。
docker run -di -v 宿主机目录:容器目录 --name=容器名 镜像名
3.2.7 查看容器所有信息(含ip)
docker inspect 容器名
3.2.8 删除容器
# 删除指定的容器:
docker rm 容器名称(容器ID) 
# 删除所有容器【慎用】:
docker rm `docker ps -a -q`

如果容器是运行状态则删除失败,需要停止容器才能删除

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值