20231008 docker入门

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


docker入门

(本文暂不涉及docker的环境配置,仅是新手练习使用)


提示:以下是本篇文章正文内容,下面案例可供参考

一、docker是什么?

ssssss
(很多人一提到docker,脑子里想到的就是这个鲸鱼驮着集装箱的图片)

官方解释

Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

通俗来说,docker就是一个容器的引擎,开发者可以打包好自己想要的容器在docker上运行

二、docker的常用命令

1.镜像的查询

[root@localhost ~]# docker search mysql

image-20231008105038542


2.拉取镜像

在(1)的镜像中搜索完镜像之后,我们就可以拉取自己想要的镜像进入本地库了,这里我拉取了mariadb

[root@localhost ~]# docker pull mariadb 

在这里插入图片描述
可以注意到是分段下载的


3.查询已拉取镜像

可以看到mariadb已经被拉取下来了

[root@localhost ~]# docker image ls

在这里插入图片描述


4.删除镜像

[root@localhost ~]# docker image rm mariadb

在这里插入图片描述
在这里插入图片描述
删除之后再去查询发现已经删除成功了


5.创建、运行docker容器

这里有一个小技巧,当你运行一个并不存在的docker容器时,系统会给你先创建好再运行
同时需要注意的是,上面这段是要粘进去的代码,下面的图片是实际展示效果

docker run -it \
--name mysqlx \
--network wn_docker_net \
--ip 172.18.12.10 \
-p 3320:3306 \
-v /var/mysqlx:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123 \
-d mysql

在这里插入图片描述

5.1运行语句段的解释

docker run -it \
--name mysqlx \
--network wn_docker_net \
--ip 172.18.12.10 \
-p 3320:3306 \
-v /var/mysqlx:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123 \
-d mysql
-it   是-i与-t的合写,其中-i指代的是可持续交互,如果没有-i与容器的输入就不会打开,通俗来讲就是容器的输入会被关闭,我们就不能实时与容器进行交互了;
而-t指代的是生成伪终端,即虚拟终端,起到一个格式化、美化输出终端的作用

--name 后跟的是容器命,若没有此容器则起道一个为即将新建的容器命名的作用

--network wn_docker_net  自定义网络名称
--ip 172.18.12.10      自定义ip,其中只有最后一个点后面能变动,取值范围是0~255,但是通常不会用0和1
这两句要放在一起写才能真正的起道自定义ip的效果

-p 3320:3306              3320是自定义的映射端口,而3306是固定的被映射的端口(注意顺序不能变且后面那个3306是固定的)

-v /var/mysqlx:/var/lib/mysql    这里是备份的作用,即将容器中的文件备份到宿主上,这样就不会导致删掉容器后容器内部的数据丢失              其中:左侧的是宿主的路径,:右侧的是容器的路径

-e MYSQL_ROOT_PASSWORD=123      设置密码

-d mysql   需要用到的镜像的名称  (需注意此镜像必须提前pull下来) 起到能后台运行的作用

6、查询正在运行的docker程序

[root@localhost ~]# docker ps
[root@localhost ~]# docker ps -a

在这里插入图片描述
在这里插入图片描述
其中加上-a之后离线状态的也能被查询到


7、日志查询

[root@localhost ~]# docker logs mysqlx


其中加上-a之后离线状态的也能被查询到


8、日志查询(重定向)

首先先进入我们要放置重定向生成日志文件的文件夹

[root@localhost ~]# cd /var
[root@localhost var]# docker logs mysqlx >>mysqxl.txt

在这里插入图片描述
这样一来日志文件就在mysqlx.txt中了


9、使用管道+grep的方式

[root@localhost var]# docker inspect mysqlx |grep IPA

Linux中查看日志的常用方式

  • docker logs + 容器命
  • cat+管道+grep
  • [root@localhost var]# tail -n 10 mysqxl.txt (tail -n 数量+文件名)
  • head -n 数量+文件名

10、容器关闭、重启、删除

删除容器之前需要先使用stop关闭容器

docker stop 容器名称

docker  restart 容器名称

docker start 容器名称

docker rm 容器名称

总结

在Linux虚拟机中,最外部是作为宿主的Linux大环境,然后里面承载着docker,在Linux中的docker内部通常也是Linux环境,docket中会有很多container(俗称容器或集装箱),这些container内部也是Linux环境,里面就装着我们需要交互的MySQL,因此相当于被包裹了三层,那么我们从MySQL退出时也是要退出两次才能到最外部的Linux

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值