docker入门及docker基本命令

前言

hello
本章的整体流程大概是这样的,docker 的一个安装和基本命令

先发自己的一个帮助理解图,其实挺不错,大概所有的docker就围绕这些。

在这里插入图片描述

docker 介绍

什么是Docker?

  1. Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Github上,基于Go语言并遵从Apache2.0协议开源。

  2. Docker属于Linux容器的一种封装,提供简单易用的容器使用接口。

  3. Docker将应用程序与该程序的依赖,打包在一个文件里面。运行这个文件,就会生成一个虚拟容器。程序在这个虚拟容器里运行,就好像在真实的物理机上运行一样。有了Docker,就不用担心环境问题。
    总体来说,

  4. Docker的接口相当简单,用户可以方便地创建和使用容器,把自己的应用放入容器。容器还可以进行版本管理、复制、分享、修改,就像管理普通的代码一样。
    在这里插入图片描述

优点:

  • 灵活:即使是复杂的应用程序也可封装。

  • 轻量级:容器利用并共享主机内核。

  • 便携式:您可以在本地构建,部署到云上并在任何地方运行。

  • 可扩展性:您可以增加和自动分发容器副本。

  • 可堆叠:您可以垂直堆叠服务并及时并及时堆叠服务。

如果是本机运行其一个Docker运行内存,一个容器中运行原生Linux和共享主机与其它容器的内核,它运行一个独立的进程,不占用任何其它可执行文件的内存,使其轻量化。
在这里插入图片描述
Infrastructure - 表示真实电脑。

Host OS - 真实电脑的操作系统,例如:Windows,Linux

Docker - 新一代虚拟化技术,不需要包含单独的操作系统。

App - 所有的应用程序现在都作为Docker容器运行。
一般来说,虚拟机提供的环境比大多数应用程序需要的资源多。
在这里插入图片描述

Infrastructure - 表示真实电脑。

Host OS - 真实电脑的操作系统,例如:Windows,Linux

Hypervisor - 虚拟机平台,模拟硬件,如VMWare,VirtualBox

Guest OS - 虚拟机平台上安装的操作系统,例如CentOS Linux

App - 虚拟机操作系统上的应用,例如nginx

面的一个演示案例也是直接使用在我们的VM虚拟机上的操作。


一、docker的安装

安装步骤

1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。

通过 uname -r 命令查看你当前的内核版本
 $ uname -r

2、使用 root 权限登录 Centos。确保 yum 包更新到最新。

$ yum update

3、卸载旧版本(如果安装过旧版本的话)

$ yum remove docker  docker-common docker-selinux docker-engine

4、安装需要的软件包, yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的

$ yum install -y yum-utils device-mapper-persistent-data lvm2

5、设置yum源

$ yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

6,安装最新版本的Docker

$ yum install docker-ce docker-ce-cli containerd.io

7,启动Docker并设置开机启动

$ systemctl start docker
$ systemctl enable docker

8,验证Docker

$ docker version

9,Docker HelloWorld测试;

$ docker run hello-world

在这里插入图片描述

可能会出现的问题

一、下载出现故障

出现下载docker 失败。
在这里插入图片描述
1、没网,试着:ping www.baidu.com
如果显示没有连接的话,就说明没网,也就无法使用yum 命令。

2、ping通了的话,还是是用不了yum命令,说明是yum镜像没有了,那么就得下载一个来更新。
在安装完CentOS后一般需要修改yum源,才能够在安装更新rpm包时获得比较理想的速度。国内比较快的有163源、sohu源。这里以163源为例子。

A、 cd /etc/yum.repos.d
B、 mv CentOS-Base.repo CentOS-Base.repo.backup
C、wget http://mirrors.163.com/.help/CentOS6-Base-163.repo
D、mv CentOS6-Base-163.repo CentOS-Base.repo
E、yum clean all
最后在使用yum 就可以了

二,加快下载速度

记住,是在自己已经安装成功的基础上优化,

没有安装docker就不用搞了。

注册一个阿里云的账户,进入:

在这里插入图片描述
输入:cd /etc/docker/
在这里插入图片描述
输入:vi darmon.json
在这里插入图片描述
复制上去:
在这里插入图片描述

二、docker基本命令

启动Docker

systemctl start docker

停止Docker

systemctl stop docker

重启Docker

systemctl restart docker

开机启动Docker

systemctl enable docker

查看Docker概要信息

docker info

查看Docker帮助文档

docker --help

查看Docker版本信息

docker version

三、docker镜像常用命令

1,docker images 列出本机所有镜像

docker images

ps部分: 后面可以加的内容:

-a	显示所有镜像(包括中间层)
-q	只显示镜像ID
-qa	可以组合
--digests	显示镜像的摘要信息
--no-trunc	显示完整的镜像信息

2,docker search 搜索镜像(基本不用)

docker search

和 https://hub.docker.com/ 这里的搜索效果一样;
ps部分: 后面可以加的内容:

--no-trunc	显示完整的镜像描述
-s	列出收藏数不小于指定值的镜像
--automated	只列出Docker Hub自动构建类型的镜像

3,docker pull 下载镜像

docker pull 镜像名称:[TAG]

4,docker rmi 删除镜像

4.1,删除单个:docker rmi 镜像名称:[TAG]

如果不写TAG,默认删除最新版本latest

有镜像生成的容器再运行时候,会报错,删除失败;

我们需要加 -f 强制删除

4.2,删除多个:docker rmi -f 镜像名称1:[TAG] 镜像名称2:[TAG]
中间空格隔开

4.3,删除全部:docker rmi -f $(docker images -qa)

四、Docker 容器常用命令

1、Docker创建并启动容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
--name="容器新名字":为容器指定一个名称;
-i:以交互模式运行容器,通常与-t或者-d同时使用;
-t:为容器重新分配一个伪输入终端,通常与-i同时使用;
-d: 后台运行容器,并返回容器ID;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口

在上面是有多种启动方式的:
简单的说:
1、docker run -it --name 别名 镜像ID (启动后并进入)
2、docker run -di --name 别名 镜像ID(启动后不进入)
3、docker run -it -d -p 8888:8080 tomcat (启动tomcat在后台运行并且端口为8888)

2、Docker列出容器

docker ps [OPTIONS]
OPTIONS说明:
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近创建的容器。
-n :列出最近创建的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。

常用命令:

1,docker ps 查看正在运行的容器
2,docker ps -a 查看所有容器


3、Docker退出容器

1、exit (容器停止退出)
2、ctrl+P+Q (容器不停止退出)

4、Docker进入容器

1、docker attach 容器ID or 容器名 (不能进入已关闭的容器)
2、docker exec -it 容器名称 或者 容器ID 执行命令 (不进去容器,却能执行容器的方法,比如:启动tomcat)

5、Docker启动容器

docker start 容器ID or 容器名

6、Docker重启容器

docker restart 容器ID or 容器名

7、Docker停止容器

1、docker stop 容器ID or 容器名

ps做法:暴力删除,直接杀掉进程 (不推荐)
2、docker kill 容器ID or 容器名

8、Docker删除容器

1、docker rm 容器ID
2、docker rm -f 容器ID (强制删除)
3、docker rm -f $(docker ps -qa) (删除所有容器)

9、寻找日记

可以根据docker命令来,但最好自己去查看文件:

文件路径

/var/lib/docker/containers/

在这里插入图片描述

发布了143 篇原创文章 · 获赞 136 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/weixin_43943548/article/details/103312419