当前位置: 首页 > news >正文

Docker(二):docker常用命令

一、帮助命令

1、docker 帮助命令

命令说明
docker version / docker -v查看docker的版本信息
docker info查看docker详细信息
docker --help / docker -h查看docker帮助命令,可以查看到相关的其他命令

二、Docker镜像命令

1、docker pull

      从远程仓库docker hub 上拉取镜像

      命令格式:

            docker pull imageName<:version>

            imageName -- 要拉取的镜像名称

            :version -- 拉取镜像的版本号,可选项;

            docker pull 拉取镜像时若不加版本号,则表示拉取最新版本的镜像,

             如:执行命令 docker pull mysql:5.7  和 docker pull mysql

                    

                    

                    

2、docker images

     列出本地主机上所有的镜像,参数说明:

参数说明
-a列出本地所有的镜像
-q只显示镜像ID
--digests显示镜像的摘要信息
--no-trunc显示完整的镜像信息

     如下图所示:

            

            镜像信息说明:      

选项说明
REPOSITORY表示镜像的仓库源
TAG镜像的标签
IMAGE ID镜像ID
CREATED镜像创建时间
SIZE镜像大小

3、docker rmi 

     docker rmi 用于删除镜像文件,命令格式如下:

删除方式命令
删除单个docker rmi -f 镜像ID
删除多个docker rmi -f 镜像1:TAG 镜像2:TAG
删除全部docker rmi -f $(docker images -qa)

     -f : 表示强制删除,一般若镜像文件已经容器,则需要加上参数 -f 强制删除。

          注意:若容器已经在运行中,则需先执行命令 “docker stop  容器ID” 先停止

                     容器,然后再删除,注意:此时对应的容器并没有被删除

         如下图所示:

          

三、Docker 容器命令

1、docker ps

      docker ps 用于查看本地正在运行的容器

命令说明
docker ps查看本地正在运行的容器
docker ps -a查看本地正所有的容器,包括停止的和正在运行的
docker ps -all查看本地正所有的容器,包括停止的和正在运行的
docker ps --all查看本地正所有的容器,包括停止的和正在运行的
docker ps --qa查看本地正所有容器的容器ID

      如下图所示:

             

2、docker run

      docker run 是最重要的一个命令,主要用于创建并运行一个容器;

      命令如下:

           docker run [OPTIONS] IMAGE:TAG

      OPTIONS 中的一些参数说明: 

options说明
--name"容器新名字": 为容器指定一个名称
-d后台运行容器,并返回容器ID,也即启动守护式容器
-i以交互模式运行容器,通常与 -t 同时使用
-t为容器重新分配一个伪输入终端,通常与 -i 同时使用
-P:随机端口映射
-p

指定端口映射,有以下四种格式

ip:hostPort:containerPort

ip::containerPort

hostPort:containerPort

containerPort

 

      下边以在docker中安装Mysql7为例来看下 docker run 命令的用法;

2.1、查看mysql7镜像文件是否存在,若不存在则执行 docker pull mysql:5.7拉取 mysql5.7 的镜像

         

2.2、在指定目录下(如 /root/docker)创建目录 mysql/mysql、mysql/conf、mysql/log,分别用于

         存放Docker中mysql7容器的运行数据、配置文件、日志;并在 conf 目录下创建mysql的配置

         文件 my.cnf,在mysql7容器创建的时候将 这些 文件或目录映射到容器的指定目录;

         如下图所示:

                

                

       2)编辑配置文件my.cnf,配置mysql,内容如下:

[mysqld]
pid-file	= /var/run/mysqld/mysqld.pid
socket		= /var/run/mysqld/mysqld.sock
datadir		= /var/lib/mysql
#log-error	= /var/log/mysql/error.log
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0max_connections = 2000
max_user_connections = 1900
max_connect_errors = 100000
max_allowed_packet = 50M
lower_case_table_names=1
[mysqld]
skip-name-resolve
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

2.3、执行docker run 创建并启动mysql 容器

         命令:

docker run  -p 3306:3306 --name mysql5.7 -v /root/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf -v /root/docker/mysql/log:/logs -v /root/docker/mysql/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7

         命令解析:

                docker run  : 运行容器-p 本机port : docker容器port  端口映射

                --name  容器名称,如:--name mysql5.7;

                -v 本机文件路径 : docker文件路径  -- > 用于将本地文件挂载到docker容器指定文件;

                MYSQL_ROOT_PASSWORD : 设置MySQL的root 用户的初始密码密码,

                     如:MYSQL_ROOT_PASSWORD=123456;

                -d :后台运行容器,并返回容器ID;

               mysql : 镜像名称,表示运行mysql 镜像,一般写在最后

3、docker exec 命令

     docker exec 进入容器并在容器中打开新的终端,可以在容器的终端中执行命令,并将

     命令执行结果输出到当前的终端中,

     命令格式:

              docker exec -it 容器名称或容器ID [需要执行的命令]

     如:以上边容器 mysql5.7 为例来进入容器中的mysql bash,并设置 mysql 权限,使之可以远

            程访问,

           1)执行命令:docker exec -it mysql5.7 bash 进入容器mysql5.7中

                 

           2)执行命令 mysql -uroot -p 启动mysql5.7的客户端,输出上边设置的密码“123456” 后

                 进入mysql 客户端

                 

                 在mysql 客户端中执行如下命令用来设置mysql 的远程连接,如下所示: 

//授权mysql 的root 用户可以远程连接
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' with grant option;//刷新权限
flush privileges;//更改加密规则,并设置docker中的mysql 本地登录密码为 123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456' PASSWORD EXPIRE NEVER; //设置root远程连接密码为123456:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';//刷新权限
flush privileges;

                 

              3)使用 Navicat 测试,数据库远程连接是否成功

                     

4、exit 命令

      exit 用于退出容器终端

             

5、docker stop  

      docker stop 用来关闭(停止)正在运行的容器;

      命令格式:docker stop  容器id或容器名称

       如执行命令  docker stop redis  来关闭名称是 redis 的容器,如下图所示:

                

6、docker start

     docker start 用于启动容器

     命令格式:docker start 容器ID或者容器名称

     如:执行命令 docker start redis 启动上边停止的容器 redis,如下图所示:

             

7、docker restart

     docker restart 用来重启指定容器

     命令格式:docker restart 容器id或者名称

     如:执行命令 docker restart redis 来重启 redis容器,如下图所示:

            

8、docker kill

      docker kill 用来强制停止指定容器

      命令格式:docker kill 容器ID或者名称

      如:执行命令 docker kill redis 来强制停止容器 redis,如下图所示:

              

9、docker rm 

     docker rm  用于删除指定容器,

     注意:正在运行中的容器不能删除,运行中的容器需要先停止再删除

     命令格式:

                    docker rm 容器ID或者名称;

                    docker rm -f  容器ID或者名称;  -f 表示强制删除指定容器

       如:执行命令 docker rm redis-6379 来删除容器 redis-6379,如下图所示:

               

           

            

相关文章:

  • 2025系统架构师---解释器架构风格‌
  • Rust:安全与性能兼得的现代系统编程语言
  • 深入探索Python Pandas:解锁数据分析的无限可能
  • 【Java】分布式事务解决方案
  • 「Mac畅玩AIGC与多模态02」部署篇01 - 在 Mac 上部署 Ollama + Open WebUI
  • (MySQL)表的操作
  • Ant(Ubuntu 18.04.6 LTS)安装笔记
  • 「Mac畅玩AIGC与多模态03」部署篇02 - 在 Mac 上部署 Dify
  • Pydantic:校验器(@validator)、模型嵌套、模型继承
  • 使用cesium设置第一视角
  • openharmony—4.1 softbus_tool 工具编译使用测试笔记(持续更新)
  • ubuntu 安装ollama后,如何让外网访问?
  • 基于QT(C++)实现(GUI)旅行查询与模拟系统
  • 展销编辑器在未来的发展前景​
  • python 取出字串中的所有词
  • C++:迭代器失效问题
  • 东田数码科技前端面经
  • 利用 Python 爬虫按关键字搜索 1688 商品详情:实战指南
  • (leetcode)力扣100 1.两数之和(两种方法:O(nlogn)/O(n))
  • Go 语言中的 `select` 语句详解
  • 上海出台灵活就业人员公积金新政:不限户籍、提取自由,6月起施行
  • “天链”继续上新!长三乙火箭成功发射天链二号05星
  • 这个器官健康的人,不容易得抑郁症
  • 国家市场监管总局:民生无小事,严打民生领域侵权假冒违法行为
  • 美官员称与乌克兰会谈富有成效,但仍存重大分歧
  • 著名茶叶专家谢丰镐逝世,享年95岁