8.8——Docker安装及使用

Docker概述

Docker容器化

Docker是一个开源的容器引擎,基于Go语言开发
对Docker简单的理解就是使用Docker可以把一台服务器隔离成一个个独立的容器,我们可以把这地方描述的容器理解成一个沙盒。在每个容器中运行一个程序,不同的容器之间相互隔离,容器的创建,停止,以及启动基本都是秒为单位,而且容器对资源的需求也是非常有限的,比起虚拟化的技术而言,可以节约很多的资源成本。在DevOps技术栈体系和可持续交付中占据了重要的位置。

docker安装流程

1、下载docker,根据流程提示安装。
image
2、docker安装完成后会提示以下图片不关闭下载wsl文件,并安装。
image
image
注意:如果电脑是家庭版安装完docker如果没有弹出上面的图需要打开任务管理器看下虚拟化是否开启,然后以管理员的方式打开控制器输入命令:netsh winsocket reset(重置一下,然后)启用虚拟化若还是不行创建一个文本文档输入以下内容
pushd "%~dp0" dir /b %SystemRoot%\servicing\PackagesHyper-V.mum >hyper-v.txt for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages%%i" del hyper-v.txt Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
保存后更改后缀为.cmd 然后打开运行。如果提示磁盘错误可以下载一个rammap可解决。
image
3、以管理员身份运行PowerShell,执行以下命令(用于打开虚拟环境):

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Hyper-V -All
image
4、根据提示进行操作,显示如下界面即表示安装成功。
image

5、安装之后,可以打开 PowerShell 并运行以下命令检测是否运行成功:docker run hello-world
image

docker镜像相关命令

使用好处:数据隔离(沙盒环境),可以降低成本。
架构的标准:SAAS+Docker+K8S
1、获取镜像:从docker仓库下载镜像到本地,镜像名称格式为 名称:版本号,如果版本号不指定则是最新的版本。如果不知道镜像版本,可以去docker hub 搜索对应镜像查看。

  • docker pull 镜像名称

docker获取镜像的步骤可以总结为如下:

  1. 获取该软件的docker镜像,直接可以进⾏搜索,⽐如docker pull nginx
  2. 运⾏该容器,运⾏成功后可以启动⼀个容器,可以nginx服务就运⾏在⼀个容器⾥⾯了
  3. 停⽌容器,删除该镜像

2、查看镜像:查看本地所有的镜像

  • docker images
  • docker images -q #查看所有镜像的id
  • docker image inspect 镜像id #查看镜像的详细的信息
  • docker images | grep imageName (win系统grep替换为findstr) #过滤出特定镜像信息:

查看所有镜像
C:\Users\刘*>docker images
REPOSITORY    TAG        IMAGE ID       CREATED         SIZE
nginx         latest     b692a91e4e15   7 days ago      142MB
hello-world   latest     feb5d9fea6a5   10 months ago   13.3kB
centos        7.9.2009   eeb6ee3f44bd   10 months ago   204MB
centos        7.8.2003   afb6fca791e0   2 years ago     203MB
查看所有镜像的id
C:\Users\刘*>docker images -q
b692a91e4e15
feb5d9fea6a5
eeb6ee3f44bd
afb6fca791e0

3、运行镜像(一个镜像被运行后,我们把运行后的程序叫容器)

  • -it:开启交互式的命令
  • --rm:容器退出时删除容器的记录信息
  • --name:指定容器的名称
  • -d:后台⽅式运⾏容器

每个镜像运⾏后,都会在容器中存在⼀条记录的信息,查询的指令为:
docker ps -a

C:\Users\刘*>docker run -it centos:7.8.2003
[root@4bcd567a9278 /]# date
Tue Aug  9 09:26:11 UTC 2022
[root@4bcd567a9278 /]# echo "hello world"
hello world

image
4、删除容器中的记录
①删除未运行的镜像
docker rmi imageName
docker rmi imageID
②删除已在运行中的镜像
镜像运行后在容器中生成一条记录,那么这个删除镜像的逻辑是:
(1)、先停止镜像运行的容器:
docker ps -a #查看运行的容器id
docker stop containerID #停止镜像运行的容器
(2)、删除镜像在容器中的记录:
docker rm containerID
(3)、删除镜像:
docker rmi imageNameID
5、运行镜像并在运行后删除运行记录
docker run -it --rm --name abcd(容器名称)镜像名称
image
6、通过tag删除镜像
image
7、通过yum下载LInux镜像执行linux操作命令
例如:
yum install -y lsof
8、镜像复制
image
9、nginx反向代理
nginx的默认端口是80,Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。

  • docker pull nginx #获取nginx镜像
  • docker run -d -p80:80 nginx
  • docker run -d -P nginx
    image
    image
posted @ 2022-08-09 19:00  NANA~  阅读(827)  评论(0编辑  收藏  举报