美文网首页
Docker 基础知识及启动redis容器

Docker 基础知识及启动redis容器

作者: 西葫芦炒胖子 | 来源:发表于2019-08-04 13:33 被阅读0次

Docker

Docker basic learning

Docker

  • Docker 使用Google公司推出的Go语言进行开发的
  • Docker 是Linux容器的一种封装,提供简单易用的容器使用接口。它是最流行的Linux容器
  • Docker 将应用程序与程序的依赖,打包在一个文件里面。运作这个文件就会生成一个虚拟容器
  • Docker 是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。

什么是Docker镜像

  • 就是把业务代码,可运行环境进行整体的打包

镜像分类

  • 镜像分为本地镜像和中心镜像.中心镜像主要存放的是镜像仓库里面

容器是什么

  • 容器本质上是进程,如nginx镜像,通过镜像启动一个nginx容器,其实就是在主机上启动一个nginx进程
  • 查看docker版本
docker version

root@FM:~# docker version
Client:
 Version:           18.09.6
 API version:       1.39
 Go version:        go1.10.8
 Git commit:        481bc77
 Built:             Sat May  4 02:36:00 2019
 OS/Arch:           linux/amd64
 Experimental:      false

Server: Docker Engine - Community
 Engine:
  Version:          18.09.6
  API version:      1.39 (minimum version 1.12)
  Go version:       go1.10.8
  Git commit:       481bc77
  Built:            Sat May  4 01:59:36 2019
  OS/Arch:          linux/amd64
  Experimental:     false
root@FM:/home/docker_learning/redis# docker -v
Docker version 18.09.6, build 481bc77
  • 列出镜像
  • 镜像ID是镜像的唯一标识,一个镜像可以对应多个标签
docker image ls
仓库名 标签 镜像ID 创建时间 所占用的空间
REPOSITORY TAG IMAGE ID CREATED SIZE
redis 4.0.14-alpine d2664936e292 6 days ago 35.7MB
node 10.16.0-alpine 9dfa73010b19 3 weeks ago 75.3MB
hello-world latest fce289e99eb9 6 months ago 1.84kB
  • 查看镜像、容器、数据卷所占用的空间
docker system df
  • 虚悬镜像(dangling image) : 仓库名、标签均为<none> 的镜像
    docker image ls -f dangling=true

  • 默认的docker image ls 列表中只会显示顶层镜像

  • docker image ls -a 显示包括中间层镜像在内的所有镜像
    docker image ls -a

  • 列出部分镜像
    docker iamges ls redis

  • 删除本地镜像 docker image rm [选项] <镜像1>[...]

  • 导出容器 docker export 容器名或容器ID > 导出的路径以及tar包的名字

  • docker export e039d9c6da11 > ./redis:4.0.14-alpine.tar

  • docker import : 丢弃了所有的历史记录和元数据信息,仅保存容器当时的快照状态。

  • 在导入的时候重新制定标签等元数据信息。

  • docker load: 将保存完整记录,体积较大

docker run  把镜像创建成容器

-d  把镜像创建成容器之后,把进程启动到后台,这个进程就相当于一直进行,容器的状态也一直是up的
-p  进行端口验证的时候,前面所以机子端口,后面是容器服务的端口
--restart=always  如果容器有异常只会重新启动一次
--name registry  创建这个容器的时候,起个名字,叫registry
-t 为容器重新分配一个伪输入终端

小案例 (启动一6379的redis容器)

  • 编写linux-redis.sh 脚本
#! /bin/sh
if [ -x "$(command -v docker)" ]
then
    echo "[1] checking docker state ------------ [ok]"
else
    echo "install docker first, pls"
fi

echo "[2] start pull redis.4.0.14-apline"
# 从镜像仓库中拉取或者更新指定镜像
sudo docker pull "redis.4.0.14-apline"
# 查看镜像
sudo docker images
# 优雅停用指定的容器
sudo docker container stop globalredis
# 删除指定的容器
sudo docker rm globalredis
# 创建一个新的容器并运行一个命令
sudo docker run -d --name globalredis -p 6379:6379 -t redis:4.0.14-apline --requirepass "fb123456"
# 查看当前正在运行的的images实例
sudo docker ps
  • 启动之后 docker images 查看

  • docker_images.png
  • 如果报异常,如下所示,需要注册Docker ID 可去官网注册 <a>https://hub.docker.com</a>
- run_error.png

相关文章

网友评论

      本文标题:Docker 基础知识及启动redis容器

      本文链接:https://www.haomeiwen.com/subject/rsxydctx.html