Docker概念-安装-更换docker国内镜像-常用命令总结

关键概念理解

image文件是什么?它是做什么用呢?
  • Docker 镜像(Image)就是一个只读的模板。镜像可以用来创建 Docker 容器,一个镜像可以创建很多容器。(可以理解为 image 是个类,通过这个类可以实例化多个对象【容器】)
Container容器
  • 容器是用镜像创建的运行实例,可以把容器看做是一个简易版的 Linux 环境运行在其中的应用程序。
Repository 仓库
  • 用来存放镜像文件,如Docker Hub(https://hub.docker.com/)
Dockerfile 文件是什么?它是做什么用呢?
  • Docker 根据 该文件生成二进制的 image 文件。
Docker Compose 工具是什么?它是做什么用呢?
  • Compose 是 Docker 公司推出的一个工具软件,可以管理多个 Docker 容器组成一个应用。你需要定义一个 YAML 格式的配置文件docker-compose.yml,写好多个容器之间的调用关系。然后,只要一个命令,就能同时启动/关闭这些容器。
数据卷
  • 类似Redis的rdb和aof文件,用来容器的持久化,容器间继承和共享数据,并保持宿主机和容器主机数据同步。

安装docker

  1. 安装教程
#具体查看官方教程
https://docs.docker.com/engine/
  1. 查看是否安装成功
#输入以下命令出现信息版本等信息代表安装成功
docker version
  1. 安装完成后启动docker服务端
sudo service docker start

配置国内docker镜像

  • 在阿里开发者平台申请加速地址链接 (登录->控制台->产品与服务->容器镜像服务->镜像中心->镜像加速器->复制加速地址)

  • 修改本机配置

vim /etc/docker/daemon.json

# 加入以下内容
{
  "registry-mirrors": ["加速地址"]
}
  • 重启docker
sudo systemctl daemon-reload  

sudo systemctl restart docker

Docker常用命令

  • 帮助命令
docker version                   #查看版本号
docker info                      #显示Docker系统信息,包括镜像和容器数
docker --help                    #查看Docker有哪些命令
  • 镜像命令
# 构建镜像
docker build -t 镜像名:TAG .                 
# 查看当前Docker中的镜像
docker images
# 列出本地所有的镜像(含中间映像层)
docker images -a
# 查询某个镜像
docker search 镜像名 
# 拉取某个镜像
docker pull 镜像名[:tag]    
# 删除某个镜像 
docker rmi 镜像ID  
# 强制删除某个镜像
docker rmi -f 镜像ID       
# 强制删除多个个镜像
docker rmi -f 镜像名1:tag 镜像名2:tag 
# 强制删除所有镜像
docker rmi -f $(docker images -qa)
  • 容器基本命令
# 新建并启动容器
docker run [OPTIONS] image [COMMAND] [ARG...]  
    -name="容器新名字": 为容器指定一个名称
    -e:配置信息
    -d: 后台运行容器,并返回容器ID,也即启动守护式容器;
    -i:以交互模式运行容器,通常与 -t 同时使用;
    -t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    -p:端口映射,如 -p 3307:3306 此处映射 宿主机3307端口 到 容器的3306端口,顿口也是有以下四种格式
        ip:hostPort:containerPort   
        ip::containerPort    
        hostPort:containerPort    
        containerPort

# 列出当前所有正在运行的容
docker ps [OPTIONS]                            
    -a :列出当前所有正在运行的容器+历史上运行过的
    -l :显示最近创建的容器。
    -n:显示最近n个创建的容器。
    -q :静默模式,只显示容器编号。
    --no-trunc :不截断输出。

# 容器停止退出
exit  
# 容器不停止退出                      
ctrl+P+Q    
# 启动容器               
docker start 容器ID或者容器名 
# 重启容器           
docker restart 容器ID或者容器名   
# 停止容器         
docker stop 容器ID或者容器名
# 强制停止容器            
docker kill 容器ID或者容器名        
# 删除已停止的容器   
docker rm 容器ID                    
# 一次性删除多个容器
docker rm -f $(docker ps -a -q)  
# 一次性删除多个容器          
docker ps -a -q | xargs docker rm       
# 启动守护式容器
docker run -d 容器名     
# 查看容器日志,-t是加入时间戳,-f是最新的日志打印,--tail数字显示最后多少条           
docker logs -f -t --tail 容器ID            
# 查看容器内运行的进程
docker top 容器ID  
# 查看容器内部细节             
docker inspect 容器ID  
# 进入正在运行的容器并以命令行交互             
docker exec -it 容器ID bashShell    
# 重新进入Docker容器        
docker attach 容器ID   
# 从容器内拷贝文件到主机上            
docker cp  容器ID:容器内路径 目的主机路径       

简单示例搭建一个mysql5.7容器服务

docker pull mysql:5.7

# 启动
docker run --name dockermysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
–name:容器名,此处命名为dockermysql
-p:端口映射,此处映射 主机3307端口 到 容器的3306端口
-e:配置信息,此处配置mysql的root用户的登陆密码
-d 镜像名:tag 使用守护进程模式启动

# 进入容器
docker exec -it dockermysql bash

# 登录mysql
mysql -u root -p
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值