美文网首页Docker从入门到精通
第三章Docker基本使用

第三章Docker基本使用

作者: a7cfd566252e | 来源:发表于2019-03-04 22:58 被阅读9次

本章重点:学习第一个docker容器,宿主机如何与Docker进行交互。本人习惯安装在centos的linux系统中,所以之后将主要以centos的linux服务器来介绍。
在介绍中会用到docker的一些命令,官方列出了docker的完整的命令列表。使用docker help或者man docker-run查看。

一、查看docker是否就绪

1、docker info 查看docker程序是否正常工作,若未启动可以使用start docker启动守护进程
2、也可以通过docker version来查看或者status docker来查看状态

二、运行第一个容器

1、创建容器的命令是docker run 命令,docker run 命令提供了Docker容器的创建到启动的功能。
docker run -i -t ubuntu /bin/bash
意思是基于基础镜像ubuntu,-i标志保证容器中的STDIN(标准输入流)是开启的,持久的标准输入是交互式shell的“半边天”,-t标志则是另外“半边天”,他告诉docker为要创建的容器分配一个伪tty终端。这样,新创建的容器才能提供一个交互式shell。若要在命令行下创建一个我们能与之交互的容器,而不是一个运行后台服务的容器,这两个就是基本的参数。
2、首先docker会去本地检查是否存在ubuntu镜像,如果本地没有镜像的话,那么docker会连接官方维护的docker Hub Register,查看Docker Hub 中是否存在该镜像,docker一旦找到该镜像,就会下载并将其保存到本地宿主机中。
也可以使用
docker pull 镜像名 拉取默认镜像仓库中的docker镜像,也可以删除镜像
docker rmi 镜像名拉取或者删除之后可以使用docker images来查看当前的镜像。 当前删除镜像之前需要先把基于此镜像创建的所有容器先删除掉,否则无法删除掉镜像的。删除容器是docker rm 镜像id
3、随后Docker在文件系统内部用这个镜像创建了一个新容器。该容器拥有自己的网络、ip地址以及一个用户和宿主机进行通信的桥接网络接口。
4、最后我们告诉Docker在新容器中要运行什么命令,本例中运行/bin/bash命令启动了一个Bash shell。
当容器创建完毕之后,Docker就会执行容器中的/bin/bash命令,这是就会看到容器内的shell了。见下图1就是拉取了ubutun的镜像并以此为基础镜像创建了一个新的容器。

图片.png

三、使用第一个容器

按上述步骤已经生成并进入了容器的终端,下面对这个容器进行简单的操作。
1、查看该容器的主机名:
hostname 可知道该容器的主机名就是容器的id
2、查看容器内的hosts文件
cat /etc/hosts 容器是有自己的ip地址以及网络的
3、可以查看容器内的进程,目前
ps aux目前没有其他的启动的进程,可见和宿主机是独立分开的。

图片.png
4、在第一个容器中进行安装软件包
apt-get update && apt-get install vim可以在容器内下载并安装软件
5、退出容器命令
exit就可以退出到centOS的宿主机的命令行提示符了。退出之后这个容器就停止运行了。主要是取决于我们的启动的方式是只有在指定的/bin/bash命令处于运行状态的时候,我们的容器才会处于运行状态。容器仍存在只是不是处于启动状态而已,可使用
docker ps -a查看目前所有的容器,-a表示所有无论启动还是停止
docker ps指的是列出处于启动运行状态下的容器
6、容器的命名
若不指定容器的名称,docker会为我们随机的生成一个容器的名称。想为容器指定一个名称可以在启动容器时候指定使用 --name来命名一个容器的名称。如之前启动命令修改下 docker run --name myfirstcontainer -i -t ubuntun /bin/bash如下图就是我们基于基础镜像ubuntu创建的两个容器,一个容器名是随机生成的,一个是通过参数--name来指定的。
图片.png
7、容器的启动
docker start后面加容器名或者容器ID即可将处于停止状态的容器再次启动
或者使用docker restart加容器名/容器id也可以重新启动。容器重新启动沿用的还是docker run 命令时指定的参数来运行。
图片.png
附着到正在运行的容器:
docker attach 加容器id或者容器名
8、上面会发现创建的容器进入容器后在退出就会停止运行,针对此类问题来创建守护式容器。适合运行应用程序和服务。
docker run --name daemoncontainer -d ubuntu /bin/sh -c "while true ; do echo hello world ;sleep 1; done"
图片.png
监测容器运行可通过日志进行分析查看
1、获取守护式容器的日志docker logs daemoncontainer或者docker logs  -f daemoncontainer或者实时docker logs -ft daemoncontainer查看
2、docker的日志驱动docker run --log -driver="sysylog" --name daemoncontainerlog -d ubuntu /bin/sh -c "while true ; do echo hello world ;sleep 1; done"此命令会将该容器的日志输出到Syslog导致docker log不会输出任何内容的。
3、查看容器内的进程使用top命令docker top 加容器名/容器id如下图1
4、容器内的统计信息
docker stats +容器id或者容器名
5、在容器中运行后台任务
docker exec -d daemoncontainer touch /etc/newfile
通过docker exec 后台命令,可以在正在运行的容器中进行维护监控以及管理任务。
6、在容器中运行交互命令
docker exec -i -t  daemoncontainer /bin/bash
7、停止守护式容器
docker stop 容器名/容器id
8、自动重启容器
在创建容器的时候加参数
docker run --restart=always --name daemoncontainerrestart -d ubuntu /bin/sh -c  "while true ; do echo hello world ;sleep 1; done"
9、深入容器
docker inspect查看更多的容器信息。
![图片.png](https://img.haomeiwen.com/i5411450/f864604e8108c6ef.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
10、删除容器
docker rm 容器名/容器id
删除所有容器
docker rm `docker ps -a -q`
图片.png

相关文章

  • docker入门基操~~~

    # Docker基本使用方式 - [Window 使用 Docker 创建lnmp环境 ](#introduct...

  • [docker]docker基本使用

    docker[Centos 7]: 个人理解的docker,核心为镜像和容器。docker可以运行在各大系统上,这...

  • docker的基本使用

    docker基本使用语法

  • 第三章Docker基本使用

    本章重点:学习第一个docker容器,宿主机如何与Docker进行交互。本人习惯安装在centos的linux系统...

  • Docker 实战总结

    目录 Docker简介 Docker优势 Docker基本概念 Docker安装使用 Docker常用命令 Doc...

  • docker基本使用

    操作容器 docker的启动有两种启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态(s...

  • docker基本使用

    docker 安装就不说了 我直接是用的windows 的版本 在学习docker之前 要知道镜像 容器的关系 镜...

  • docker 基本使用

    登录指定仓库docker login -u 登录名 -p 密码 仓库地址 拉去镜像docker pull 镜像名称...

  • docker 基本使用

    https://help.aliyun.com/document_detail/51853.html?spm=51...

  • docker 基本使用

    确保机器已经安装了docker; 启动docker进程: 查看docker进程: 3.运行docker应用 使用以...

网友评论

    本文标题:第三章Docker基本使用

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