记录学习docker命令的随笔
阅读原文时间:2023年07月10日阅读:1

docker安装与启动

安装docker

  1. yum包更新到最新

     sudo yum update

  2. 安装需要的软件包

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

  3. 设置yum源,这是设置阿里云的

     sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

  4. 安装docker

     sudo yum install docker-ce
     ​
     说明:-ce 是社区版,也就是免费版。也有企业版但是需要收费

  5. 安装完成查看版本

     docker -v

  6. 出现以上显示说明安装成功

  7. 设置docker镜像源

     这里列举几个镜像地址:
      1:docker官方中国区 :https://registry.docker-cn.com
      2:网易:http://hub-mirror.c.163.com
      3:ustc:http://docker.mirrors.ustc.edu.cn
      4:阿里云:http://<你的ID>.mirror.aliy
     

    说明:阿里云需要到阿里云后台获取的自己地址,具体我这里不在说明,这里用ustc作为例子

     编辑该文件
     vim /etc/docker/daemon.json 
     ​
     文件里面输入以下内容:
      {
        "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
      }
     
     []里面可以输入多个地址:
     比如:
     [
      "https://docker.mirrors.ustc.edu.cn",
      "http://hub-mirror.c.163.com"
     ]

    查看镜像地址是否切换成功可以使用docker info 命令查看

docker启动和停止命令

  1. 启动docker

     systemctl start docker

  2. 停止docker

     systemctl stop docker

  3. 重启docker

     systemctl restart docker

  4. 查看docker状态

     systemctl status docker

  5. 设置docker开机启动

     systemctl enable docker

  6. 查看docker信息

     docker info

  7. 查看docker帮助文档

     docker help

镜像相关命令

  1. 查看镜像

     docker images

     REPOSITORY :镜像名称
     TAG: 镜像标签
     IMAGE ID : 镜像ID
     CREATED : 镜像创建时间
     SIZE :镜像大小

  2. 搜索镜像(搜索过程需要联网)

     docker search 镜像名称

     NAME:仓库名称
     DESCRIPTION:镜像描述
     STARS:表示一个镜像的欢迎程度
     OFFICIAL:是否是官方
     AUTOMATED:自动构建,表示该镜像由Docker Hub自动构建流程创建的

    说明:查看镜像详细可以直接登录docker官方查看

     网址:https://hub.docker.com/

  3. 拉取镜像

     docker pull 镜像名称:TAG
     ​
     ​
     例子:
      docker pull centos:7
      拉取centos7的镜像 TAG表示要拉取的版本,不写默认拉取最新的

  4. 删除镜像

     docker rmi 镜像名称

容器相关命令:

  1. 查看正在运行的容器

     docker ps

  2. 查看所有运行的容器

     docker ps -a

  3. 查看最后一次运行的容器

     docker ps -l

  4. 创建容器

    • 参数说明:

     -i 表示运行容器
     -t 表示容器启动会进入其命令行。
     --name 为容器定义一个名称
     -v 表示目录挂载(前者是宿主机目录,后者是容器目录) 可使用多个
     -d 表示创建一个守护式容器
     -p 表示端口映射(前者是宿主机端口,后者是容器内的端口)可使用多个

    • 交互式容器创建

       docker run -it --name=容器名称 镜像名称:标签 /bin/bash
       ​
       列子:
        docker run -it --name=mycentos7 centos:7 /bin/bash
       
        说明:/bin/bash 可加可不加创建交互式容器
       
        要退出交互式容器输入 exit 命令即可

      • 守护式容器创建

         docker run -di --name=容器名称 镜像名称:标签
         ​
         登录守护式容器方式:
         docker exec -it 容器名称|容器ID /bin/bash

  5. 停止容器

     docker stop 容器名称|容器ID

  6. 启动容器

     docker start 容器名称|容器ID

  7. 删除容器

     docker rm 容器名称|容器ID

  8. 文件拷贝

     从宿主机将文件拷贝到容器中
     docker cp 宿主机需要拷贝的文件|目录 容器名称:容器目录

    列子

     从容器中将文件拷贝到宿主机中
     docker cp 容器中需要拷贝的文件|目录 宿主机目录

    例子

  9. 目录挂载

     目录挂载:指的是当改变宿主机的文件时容器内的文件也随着改变
     ​
     docker run -di -v 宿主机目录:容器目录 --name=容器名称 镜像名称:标签
     ​
     ​
     说明:目录挂载要在容器创建时设置

docker容器部署mysql

 docker run -di --name=容器名称 -p 宿主机端口:容器运行端口 -e MYSQL_ROOT-PASSWORD=密码 镜像名称

参数说明

 -p 表示端口映射,格式为:宿主机映射端口:容器运行端口
 -e 环境变量 MYSQL_ROOT-PASSWORD表示为ROOT用户设置密码

宿主机映射的端口可以随意设置,设置完成使用mysql连接客户端连接即可

nginx部署

 docker run -di --name=容器名称 -p 宿主机端口:容器运行端口 镜像名称