Docker拉取Mysql镜像并启动访问及docker常用命令介绍

上篇文章介绍了 Centos7安装docker并修改成阿里云镜像源地址
可以参考使用: https://blog.csdn.net/weixin_44232093/article/details/124291813

Docker-常用命令介绍


1. 搜索-search命令

search命令的主要作用就是,在镜像源仓库搜索指定镜像资源,我这里镜像源换成了 阿里云的镜像源

示例一: 搜索

比如说我们要搜索关于 Mysql 的镜像:

在这里插入图片描述
可以看到出现了五个不同的列,那么这几个列都代表了什么,分别是:

NAMEDESCRIPTIONSTARSOFFICIALAUTOMATED
镜像名称镜像描述星星数(获赞数量)是否正式(是否是官方镜像)自动构建(一般不用关注)

一般我们用到的命令也就是几个而已,比如过滤命令 -f , -s

示例二: 过滤搜索

比如我想搜索获赞数(星星数量) 大于 1000 的镜像

docker search --filter=stars=1000 mysql

结果出现了两条,对比上图我们知道过滤成功
在这里插入图片描述

示例三: 过滤搜索

比如我们想知道都有哪些mysql镜像是官方发布

docker search --filter is-official=true mysql

结果显示四条,与示例一对比的话就知道结果是正确的
在这里插入图片描述

2. 拉取-pull命令

pull命令的主要作用是拉取镜像,语法是这样的

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

示例一: 默认拉取

比如我们要拉取mysql的镜像,如果没有指定标签,那么 Docker Engine会使用 :latest 标签作为默认值,默认拉取最新镜像版本
示例中我指定了镜像名称,也就是search搜索结果中的NAME标签
在这里插入图片描述
拉取命令

docker pull centos/mysql-57-centos7

结果显示,拉取成功,标签默认为 :latest
在这里插入图片描述

示例二: 指定版本拉取

比如说我们要拉取 ubuntu-14.04 版本的镜像

$ docker pull ubuntu:14.04

14.04: Pulling from library/ubuntu
5a132a7e7af1: Pull complete
fd2731e4c50c: Pull complete
28a2f68d1120: Pull complete
a3ed95caeb02: Pull complete
Digest: sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2
Status: Downloaded newer image for ubuntu:14.04 # 可以看到拉取成功

示例三: 通过摘要拉取镜像

示例二中的 Digest标签就是摘要,那么通过摘要拉取镜像的意思就是 : 拉取镜像时,摘要取代名称/标签
我们可以通过 docker image inspect 镜像id 命令来查看已下载镜像的详情信息,以此来获取镜像摘要

$ docker pull ubuntu@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2

sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2: Pulling from library/ubuntu
5a132a7e7af1: Already exists
fd2731e4c50c: Already exists
28a2f68d1120: Already exists
a3ed95caeb02: Already exists
Digest: sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2
Status: Downloaded newer image for ubuntu@sha256:45b23dee08af5e43a7fea6c4cf9c25ccf269ee113168c19722f87876677c5cb2

示例四: 指定源地址拉取镜像

默认情况下,docker pull从Docker Hub中拉出映像。 也可以手动指定注册表的路径
例如,如果已设置本地注册表,则可以指定其从中拉取的路径。 注册表路径与URL类似,但不包含协议说明符(http://)。
以下命令从端口5000(myregistry.local:5000)上的本地注册表中提取测试/测试镜像:

docker pull myregistry.local:5000/testing/test-image

3. 运行-run命令

docker run : 创建一个新的容器并运行

语法说明:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS-可选参数说明

命令描述
-a stdin指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项
-d后台运行容器,并返回容器ID
-i以交互模式运行容器,通常与 -t 同时使用
-P随机端口映射,容器内部端口随机映射到主机的端口 (不常用)
-p指定端口映射,格式为:主机(宿主)端口:容器端口(常用)
-t为容器重新分配一个伪输入终端,通常与 -i 同时使用
-m设置容器使用内存最大值
–name=XXX为容器指定一个名称,:后名称是自己随便定义的
–dns 8.8.8.8指定容器使用的DNS服务器,默认和宿主一致
–dns-search example.com指定容器DNS搜索域名,默认和宿主一致
-h “mars”指定容器的hostname
-e username=“ritchie”设置环境变量
–env-file=[]从指定文件读入环境变量
–cpuset=“0-2” or --cpuset=“0,1,2”绑定容器到指定CPU运行
–net=“bridge”指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型
–link=[]添加链接到另一个容器
–expose=[]开放一个端口或一组端口
–volume , -v绑定一个卷

示例一:守护者模式启动

以守护者模式启动mysql镜像,并取别名my_mysql,端口映射3306,设置用户的密码

docker run -di --name=my_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 \
centos/mysql-57-centos7
  • -di : 不进入容器,使用守护式进程运行镜像
  • --name : 给容器起别名,这里叫 my_mysql
  • -p : 指定端口映射,宿主机的3306端口映射到容器的3306端口
  • ‐e MYSQL_ROOT_PASSWORD=123456 : =前面是固定语法,设置mysql用户的密码,=后自己编辑即可
  • centos/mysql‐57‐centos7 : 镜像名称

示例二: 映射目录

如果需要指定目录文件,那么启动时需要使用 -v 命令
使用镜像 nginx:latest以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data

docker run -p 80:80 -v /data:/data -d nginx:latest

示例三: 交互模式-进入容器

使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令

runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/# 

4. 展示-images命令

docker images : 列出本地镜像

语法

docker images [OPTIONS] [REPOSITORY[:TAG]]

OPTIONS说明:

命令描述
-a列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层)
–digests显示镜像的摘要信息
-f显示满足条件的镜像
–format指定返回值的模板文件
–no-trunc显示完整的镜像信息
-q只显示镜像ID

示例一: 查看本地镜像

查看本地镜像

[root@iZ2ze9p6vshix8hl1pvisgZ tensquare]# docker images
REPOSITORY                TAG       IMAGE ID       CREATED         SIZE
packing                   v1.0      374722abcce6   17 months ago   570MB
es03                      latest    65fd1380696e   17 months ago   619MB
es-2.0                    latest    312fcc0af56f   17 months ago   618MB
centos/mysql-57-centos7   latest    f83a2938370c   2 years ago     452MB
elasticsearch             5.6.8     6c0bdf761f3b   4 years ago     570MB

5. 展示-ps命令

docker ps : 列出容器

语法

docker ps [OPTIONS]

OPTIONS说明

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

示例一: 列出正在运行的容器

[root@iZ2ze9p6vshix8hl1pvisgZ tensquare]# docker ps
CONTAINER ID   IMAGE                     COMMAND                  CREATED         STATUS         PORTS                    NAMES
51c7ebb15657   centos/mysql-57-centos7   "container-entrypoin…"   3 seconds ago   Up 2 seconds   0.0.0.0:3306->3306/tcp   my_mysql

图例
在这里插入图片描述

输出字段描述

字段描述
CONTAINER ID容器 ID
IMAGE使用的镜像
COMMAND启动容器时运行的命令
CREATED容器的创建时间
STATUS容器状态,包含created(已创建),restarting(重启中),running(运行中),removing(迁移中),paused(暂停),exited(停止),dead(死亡)
PORTS容器的端口信息和使用的连接类型(tcp\udp)
NAMES容器名称,如果没有指定系统则自动分配

示例二: 过滤查询

列出最近创建的5个容器信息

[root@iZ2ze9p6vshix8hl1pvisgZ tensquare]# docker ps -n 5
CONTAINER ID   IMAGE                     COMMAND                   ...
51c7ebb15657   centos/mysql-57-centos7   "container-entrypoin…"    ...

6. 启动停止重启-start/stop/restart 命令

启动已被停止的容器myrunoob

$ docker start myrunoob

停止运行中的容器myrunoob

$ docker stop myrunoob

重启容器myrunoob

$ docker restart myrunoob

7. 删除-rm命令

docker rm :删除一个或多个容器

语法

docker rm [OPTIONS] CONTAINER [CONTAINER...]

OPTIONS说明:

命令描述
-f通过 SIGKILL 信号强制删除一个运行中的容器
-l移除容器间的网络连接,而非容器本身
-v删除与容器关联的卷

示例一: 删除容器

强制删除容器 db01、db02

docker rm -f db01 db02

移除容器 nginx01 对容器 db01 的连接,连接名 db

docker rm -l db 

删除容器 nginx01, 并删除容器挂载的数据卷

docker rm -v nginx01

删除所有已经停止的容器

docker rm $(docker ps -a -q)

示例二: 删除image镜像

docker rmi REPOSITORY

8. kill-命令

docker kill :杀掉一个运行中的容器

示例一: kill容器

杀掉运行中的容器mynginx

runoob@runoob:~$ docker kill -s KILL mynginx
mynginx

参考 : https://www.yiibai.com/docker/search.html
菜鸟教程: https://www.runoob.com/docker/docker-command-manual.html

  • 3
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
拉取MySQL镜像,可以使用以下命令: ``` docker pull mysql ``` 如果你想下载特定版本的MySQL,可以使用以下命令: ``` docker pull mysql:版本号 ``` 例如,如果你想下载MySQL 8.0版本,可以使用以下命令: ``` docker pull mysql:8.0 ``` 请注意,这些命令需要在已经安装了Docker的环境中运行。 #### 引用[.reference_title] - *1* [docker拉取MySQL容器](https://blog.csdn.net/2301_77296721/article/details/130820409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [【Docker】Linux Docker拉取 MySQL 镜像](https://blog.csdn.net/weixin_43657300/article/details/128251668)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Docker操作Mysql镜像容器](https://blog.csdn.net/Johnson_7/article/details/126984746)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叫我三胖哥哥

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值