您当前的位置: 首页 >  docker

杨林伟

暂无认证

  • 3浏览

    0关注

    3337博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

漫谈容器化技术(docker使用篇)

杨林伟 发布时间:2021-12-15 16:39:50 ,浏览量:3

文章目录
  • 01 引言
  • 02 docker 安装
    • 2.1 Windows下安装docker
    • 2.2 Mac下安装docker
    • 2.3 Linux下安装docker
    • 2.4 镜像加速
      • 2.4.1 Linux下的配置方式
      • 2.4.2 Windows下的配置方式
      • 2.4.3 Mac下的配置方式
  • 03 docker 相关概念
  • 04 docker 命令
    • 4.1 docker 命令模板
    • 4.1 docker 操作
      • 4.1.1 镜像相关
      • 4.1.2 容器相关
      • 4.1.3 仓库相关
    • 4.2 docker 修饰符
    • 4.3 docker 操作对象
    • 4.4 docker 对象内容
  • 05 总结

01 引言

在前面的博客,关于容器化技术,我写了相关的博客,有兴趣的同学可以参阅下:

  • 《漫谈容器化技术》
  • 《漫谈容器化技术(docker原理篇)》

本文主要讲解的是docker的使用,从安装到命令集。

02 docker 安装

在 《漫谈容器化技术(docker原理篇)》首先我们需要知道,docker 并非是一个通用的容器工具,它依赖于已存在并运行的Linux内核环境。

所以,安装docker必须先安装Linux!

2.1 Windows下安装docker

如果要在Windows安装docker,那么我们要先在Windows下安装虚拟机,然后虚拟机安装Linux环境,然后在虚拟机的安装的Linux环境再安装Docker,这个过程是很麻烦的。还好docker官网为我们提供了dockerWindows桌面版,简化了我们的安装操作,具体的下载地址:https://hub.docker.com/editions/community/docker-ce-desktop-windows 在这里插入图片描述

这里不再详述在Windows下安装docker了,一直点击下一步即可安装成功!

2.2 Mac下安装docker

与Windows的安装方式一样,我们也可以在docker官网下载安装包安装docker,官网地址:https://docs.docker.com/desktop/mac/install/ 在这里插入图片描述 当然,也可以使用homebrew命令来安装:

brew install --cask --appdir=/Applications docker
2.3 Linux下安装docker

可以使用官方安装脚本自动安装,安装命令如下:

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

也可以使用国内 daocloud 一键安装命令:

curl -sSL https://get.daocloud.io/docker | sh

当然还有手动安装的方式,本文不再详述,自行百度。

2.4 镜像加速

国内从 DockerHub 拉取镜像有时会很慢,可以配置镜像加速器,主流配置如下:

  • 【科大镜像】:https://docker.mirrors.ustc.edu.cn/
  • 【网易】:https://hub-mirror.c.163.com/
  • 【阿里云】:https://.mirror.aliyuncs.com
  • 【七牛云加速器】:https://reg-mirror.qiniu.com

下面提出不同操作系统下的配置方式,其中检验是否配置成功的脚本代码如下,如果能看到镜像地址改为了自己配置的,说明配置成功了:

$ docker info
Registry Mirrors:
    https://reg-mirror.qiniu.com
2.4.1 Linux下的配置方式

1.在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}

2.配置完重新启动服务:

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker
2.4.2 Windows下的配置方式

打开docker桌面版软件,打开设置Settings,然后配置Registrymirrors 一栏填写加速器地址: 在这里插入图片描述

2.4.3 Mac下的配置方式

Windows配置相似,在任务栏点击 Docker for mac应用图标-> Perferences...-> Daemon-> Registrymirrors,在列表中填写加速器地址: 在这里插入图片描述

03 docker 相关概念

docker实践前,需要先熟悉以下几个概念:

概念英文说明MachineDocker Machine一个简化Docker安装的命令行工具,通过一个简单的命令行即可在相应的平台上安装Docker主机Docker Host一个物理或者虚拟的机器用于执行 Docker 守护进程和容器。客户端Docker ClientDocker客户端通过命令行或者其他工具使用 Docker SDK(https://docs.docker.com/develop/sdk/) 与 Docker 的守护进程通信。仓库RepositoryDocker仓库用来保存镜像,可以理解为代码控制中的代码仓库。镜像ImageDocker镜像是用于创建Docker容器的模板,比如Ubuntu系统。容器Container容器是独立运行的一个或一组应用,是镜像运行时的实体。

在这里插入图片描述

提示:可以把镜像看做java的类class模板,容器看成一个实例对象 new Object()

04 docker 命令 4.1 docker 命令模板

我整理了docker命令的模板,先示例一个docker命令:

docker run -i -t ubuntu:15.10 /bin/bash

可以看到命令的组成格式如下,下面来讲解各组成部分有哪些内容:

格式:docker(声明为docker命令)+ 操作(run) + 参数修饰符(-i -t) + 操作对象(ubuntu:15.10)+ 对象里面的内容(/bin/bash

4.1 docker 操作

docker命令后面除了跟了run操作,还有以下方法,整理如下:

4.1.1 镜像相关 操作解析示例命令images列出本地主机上的镜像docker imagesrmi删除镜像docker rmi hello-worldpull下载镜像docker pull ubuntu:13.10run启动一个容器docker run -it ubuntu /bin/bashsearch查找镜像docker search httpdcommit更新镜像docker commit -m=“has update” -a=“runoob” e218edb10161 runoob/ubuntu:v2build构建镜像docker build -t runoob/centos:6.7tag设置镜像标签docker tag 860c279d2fec runoob/centos:dev 4.1.2 容器相关

可以通过命令docker command --help 更深入的了解指定的 docker命令使用方法。

操作解析示例命令command了解指定的 Docker 命令使用方法docker command --helpps容器列表docker ps -astart启动一个已停止的容器docker start b750bbbcfd88restart重启容器docker restart b750bbbcfd88stop停止容器docker stop b750bbbcfd88exec、attach进入容器,推荐使用execdocker exec -it 243c32535da7 /bin/bashexport导出容器docker export 1e560fca3906 > ubuntu.tarimport导入容器快照快照文件 ubuntu.tar 导入到镜像 test/ubuntu:v1:cat docker/ubuntu.tar | docker import - test/ubuntu:v1rm删除容器docker rm -f 1e560fca3906update更新容器设置abebf7571666容器重启策略:docker update --restart=always abebf7571666logs查看容器日志docker logs -f bf08b7f2cd89stats监控容器docker stats —no-streamport查看端口的绑定情况docker port adoring_stonebrakernetwork新建网络docker network create -d bridge test-netnetwork新建网络docker network create -d bridge test-net 4.1.3 仓库相关 操作解析示例命令login登录docker loginlogout退出docker logoutpush将自己的镜像推送到 Docker Hubdocker push username/ubuntu:18.04 4.2 docker 修饰符 修饰符解析示例命令-t新容器内指定一个伪终端或终端docker run -i -t ubuntu:15.10 /bin/bash-i允许你对容器内的标准输入 (STDIN) 进行交互docker run -i -t ubuntu:15.10 /bin/bash-d后台运行模式docker run -itd --name ubuntu-test ubuntu /bin/bash-f前台运行模式docker logs -f bf08b7f2cd89-f前台运行模式docker logs -f bf08b7f2cd89-e设置环境变量docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql-P将容器内部使用的网络端口随机映射到我们使用的主机上docker run -d -P training/webapp python app.py-a查看所有docker ps -a组合命令,如-itd交互式、终端、后台运行docker run -itd --name ubuntu-test ubuntu /bin/bash 4.3 docker 操作对象 操作对象解析示例命令镜像从仓库拉取的镜像imagesdocker pull ubuntu:13.10容器以镜像为基础创建的容器docker run -it ubuntu /bin/bash 4.4 docker 对象内容 对象内容解析示例命令容器里面执行命令在启动的容器里执行的命令docker run ubuntu:15.10 /bin/echo “Hello world”容器目录进入容器根目录docker exec -it 243c32535da7 /bin/bash环境变量设置环境变量docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql其它内容的操作其它内容的操作无 05 总结

本文从docker安装入手,再讲到了docker的概念、指令,这些知识应该足以让我们入门了,如果要深入,还得我们多去实践,实践才能检验知识。

本文是通过阅读《菜鸟教程》整理的笔记,或许存在纰漏之处,欢迎大家留言指出并关注。本文完!

关注
打赏
1662376985
查看更多评论
立即登录/注册

微信扫码登录

0.3710s