Docker

1.初始Docker

Docker的概念


Docker是基于Go语言实现的云开源项目。 Docker的主要目标是“Build,Ship and Run Any App,Anywhere”,也就是通过对应用组件的封装、分 发、部署、运行等生命周期的管理,使用户的APP(可以是一个WEB应用或数据库应用等等)及其运行 环境能够做到“一次镜像,处处运行”。

Docker解决的问题【运维的工作】


我们写的代码会接触到好几个环境: 开发环境,测试环境以及生产环境:

Linux容器技术的出现就解决了这样一个问题,而 Docker 就是在它的基础上发展过来的。将应用打成 镜像,通过镜像成为运行在Docker容器上面的实例,而 Docker容器在任何操作系统上都是一致的,这 就实现了跨平台、跨服务器。只需要一次配置好环境,换到别的机子上就可以一键部署好,大大简化了 操作。

思考: mysql--->centos 必须非常麻烦 【允许远程访问 密码】--->打包为一个镜像--->运行该镜像

安装Docker


Docker可以运行在MAC、Windows、CentOS、UBUNTU等操作系统上,本课程基于CentOS7安 装Docker。官网: https://www.docker.com

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 http://mirrors.aliyun.com/docker ce/linux/centos/docker-ce.repo

4.安装docker

yum install -y docker-ce

5.查看docker版本,验证是否验证成功

docker -v

报错:设置不了yum源

找到/ect/yum.repos.d把里面有关docker的文件都删除掉,再重新设置yum,再安装docker

Docker架构


  • Docker 镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可 以创建很多容器。
  • 容器(Container) :Docker 利用容器(Container)独立运行的一个或一组应用。就像是Java 中的类和实例对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器为镜像提供了 一个标准的和隔离的运行环境,它可以被启动、开始、停止、删除。每个容器都是相互隔离 的、保证安全的平台
  • 仓库(Repository)是集中存放镜像文件的场所。
  • 类似于 Maven仓库,存放各种jar包的地方;
  • gitee仓库,存放各种git项目的地方;
  • Docker公司提供的官方registry被称为Docker Hub,存放各种镜像模板的地方。 仓库分为公开仓库(Public)和私有仓库(Private)两种形式。
  • 最大的公开仓库是 Docker Hub(https://hub.docker.com/), 存放了数量庞大的镜像供用户下载。国内的公开仓库包括阿里云 、网易云等

配置Docker镜像加速器


默认情况下,将来从docker hub ( https://hub.docker.com/)上下载docker镜像,太慢。一般都会 配置镜像加速器:

USTC:中科大镜像加速器( https://docker.mirrors.ustc.edu.cn)

阿里云

网易云

腾讯云


sudo tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors": [
        "https://do.nark.eu.org",
        "https://dc.j8.work",
        "https://docker.m.daocloud.io",
        "https://dockerproxy.com",
        "https://docker.mirrors.ustc.edu.cn",
        "https://docker.nju.edu.cn"
    ]
}
EOF

sudo systemctl daemon-reload
sudo systemctl restart docker

重启docker:systemctl  restart  docker

2.Docker常用命令


2.1Docker服务相关的命令


启动docker服务:systemctl  start  docker

停止docker服务:systemctl  stop  docker

重启docker服务:systemctl  restart  docker

查看docker服务状态:systemctl  status  docker

开启docker服务:systemctl  enable  docker

查看docker命令帮助文档:docker  具体命令  --help

2.2Docker镜像相关的命令


查看镜像:

  • docker  images

搜索镜像:

  • docker  search  redis

拉取镜像:

  • docker  pull   redis:6.0  冒号后跟的是版本号,如果不跟默认latest
  • docker  pull  redis==docker pull redis:latest

删除镜像:

根据id删除

  • docker  rmi  镜像id

根据名称:版本号删除

  • docker  rmi  redis:7.0

删除所有镜像

  • docker  images  q  --查询所有镜像的id
  • docker  rmi (docker  images q)

2.3Docker容器相关的命令


1.创建容器并进入

docker  run  -it  --name=c01  centos:7  /bin/bash

-i:保持容器一直运行,因为容器没有客户端连接会自动关闭

-t:给容器分配伪终端结束命令

--name:给容器去名字

centos:7:镜像加版本号

/bin/bash:进入容器的初始化指令,这里相当于是打开一个shell窗口

2.查看容器

docker ps  --查看正在运行的容器

docker ps -a  --查看所有容器

3.创建一个容器但不进入容器

docker  run  -id  --name=c02  cnetos:7

通过这种方式创建的容器退出以后不会自动关闭

-d:通过后台运行创建容器,创建完成不会立刻进行容器,需要通过命令进入容器

4.进入指定容器内

docker  exec  -it  c02  /bin/bash

5.启动容器

docker  start  c02

6.停止容器

socker  stop  c02

7.删除容器

docker rm 容器id #只删除未启动的容器

docker rm -f 容器id||名称 #删除任何容器

docker ps -aq #查看所有容器的id

docker rm docker ps -aq

8.查看容器信息

docker  inspect  c02

9.输出当前容器日志信息--知道容器启动失败的原因

docker  logs  容器id

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值