概念
dcoker内有两个概念:
镜像:容器的模板,是一个文件,包括容器云心时所需要的数据,只可读
容器:运行中的进程,依赖镜像运行,是镜像的具现化;可读可写
两者关系:镜像类似python中的类,容器类似python中的类的实例化对象;
一个镜像可以有多个容器;容器引用镜像,也可对镜像进行扩展,类似代码里面的继承和衍生
常用命令
docker version :显示 Docker 版本信息。
docker pull : 从镜像仓库中拉取或者更新指定镜像
docker images : 列出本地镜像。
docker run :创建一个新的容器并运行一个命令
-
-d: 后台运行容器,并返回容器ID;
-
-i: 以交互模式运行容器,通常与 -t 同时使用;
-
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-
--name="nginx-lb": 为容器指定一个名称;
-
-v $PWD/myapp : /usr/src/myapp: 将主机中当前目录下的 myapp 挂载到容器的 /usr/src/myapp。
docker rm :删除一个或多个容器。
docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器
docker exec 容器名称 bash :进入容器内命令交互模式
docker ps : 列出容器
-
-a :显示所有的容器,包括未运行的。
实操
测试管理工具平台中,本地联调时使用django自带的sqlite3. 但是在正式环境,会更换为MySQL 。因为MySQL 是世界上最受欢迎的开源数据库。凭借其可靠性、易用性和性能,MySQL 已成为 Web 应用程序的数据库优先选择。
在docker中安装MySQL 分为三步骤:
1.拉取镜像(本文已拉取5.7版本的MySQL 为例)
docker pull mysql:5.7
2.运行容器
docker run -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456789 mysql:5.7
命令解析:
-itd,是将“-i”,“-t”,“-d”三个命令浓缩使用,表示以交互模式运行容器,且为容器重新分配一个伪输入终端,后台运行容器,并返回容器ID;
-p 表示映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务
MYSQL_ROOT_PASSWORD 表示默认为root用户设置密码123456789
3.查看已运行容器
通过 docker ps 命令查看是否安装成功:


本文详细讲解了Docker中的镜像和容器概念,将它们比作Python中的类和实例,介绍了常用命令如docker pull、run、rm等,并展示了在实际环境中部署MySQL的步骤。
2601





