第二节:docker 镜像和容器

目录

准备工作:设置自己的容器镜像加速器

镜像操作

下载镜像:以 mysql 为例

镜像常用命令 

容器

启动 mysql 服务器实例

容器解释

测试 mysql 连接

容器常用命令 

容器的独立性


 

 

前言:

        上一节提到 docker 三个核心概念:镜像、容器、仓库。镜像类似于虚拟机,容器类似于简易版的 Linux 系统环境。Docker hub 是最大的公有仓库。

准备工作:设置自己的容器镜像加速器

第二节:docker 镜像和容器

阿里云地址:
https://homenew.console.aliyun.com/

第二节:docker 镜像和容器

 

第二节:docker 镜像和容器

第二节:docker 镜像和容器

镜像操作

下载镜像:以 mysql 为例

在  https://hub.docker.com/ 官网上搜索

第二节:docker 镜像和容器

镜像操作语法:

docker  pull  image_name[:tag] 

# tag:一般为镜像的版本,不指定默认下载 latest 版本。

例如:docker pull mysql:5.7

 第二节:docker 镜像和容器

 

第二节:docker 镜像和容器

镜像常用命令 

命令 含义
docker images --help 镜像命令帮助
docker pull 镜像名:[tag] 下载镜像
docker images 查看镜像
docker images -a 查看所有镜像
docker rmi 镜像id 删除镜像
docker rmi -f 镜像id 镜像id 强制删除多个
docker rmi $(docker images -q) 删除全部镜像
docker rmi -f $(docker images -q) 强制删除全部镜像

 

容器

启动 mysql 服务器实例

  • 先有镜像,后有容器,容器类似于简易版的 Linux 环境。下面演示容器如何运行。

容器操作语法:

例如:

docker run --name mysql-5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d c791733bf9b7

# --name : 自定义名称

# -p:暴露端口号,不然外网无法访问;P :大写的 p 是随机端口

# MYSQL_ROOT_PASSWORD:非必选,mysql root 用户设置密码

# -d:后台运行,不占控制台

# tag:一般为镜像的版本,不指定默认下载 latest 版本

# c791733bf9b7:已下载的镜像。也可以写镜像名,例如:redis,如果没有指定 tag,默认下载 latest

例如:docker pull mysql:5.7

第二节:docker 镜像和容器

容器解释

容器id 镜像 启动时运行的命令 创建时间 状态 端口号 容器名
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
86875c0b8616 c791733bf9b7 "docker-entrypoint.s…" 24 seconds ago Up 23 seconds 3306/tcp mysql-5.7

测试 mysql 连接

 第二节:docker 镜像和容器

容器常用命令 

命令 含义
docker ps --help 容器帮助命令
docker ps 查看运行容器
docker ps -a 查看所有容器

docker run --name 自定义容器名 -it  -p host:host  -d  镜像id / 镜像名

例如:

docker run --name mynginx -it -p 80:80  -d  nginx  : 如果没有镜像,会自动下载镜像

以交互模式启动容器
docker start 容器id 启动已有的容器(第一次用run)do
docker exec  -it  容器id  bin/bash 进入容器内部 Linux 环境
exit 退出容器
docker  stop  容器id / 容器名 停止运行容器
docker  rm  容器id 删除容器
docker  rm  -f  $(docker ps -qa) 强制删除全部容器

容器的独立性

第二节:docker 镜像和容器