赞
踩
镜像和容器:当我们利用docker安装应用时,Docker会自动搜索并下载应用的镜像(image),镜像不仅包含应用本身还包含应用所需要的环境、配置、系统函数库。Docker会在运行镜像时创建一个隔离的环境,称为容器(container)
输入以下命令:
docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=密码 mysql
命令解读:
docker run :创建并运行一个容器,-d是让容器在后台运行
--name mysql:给容器起一个名字,叫mysql,必须唯一
-p 3306:3306:设置端口映射,前面是宿主机端口,后面是容器内端口,容器内端口取决于进程,不需要改动,宿主机端口可以改动
-e :设置环境变量,参数类型为KEY=VALUE,可以设置多个,环境由要安装应用的官方提供
mysql:指运行镜像的名字,一般由两部分组成,镜像名:镜像版本,不写版本默认最新版本
忘记命令时可以使用--help查看
1)查看安装的镜像:
docker images
2)下载指定镜像:从docker仓库下载指定镜像,也叫拉取和git相同
docker pull 镜像名
3)打包指定镜像:
docker save -o 打包的包名 要打包的镜像名:版本号
4)删除指定镜像:
docker rmi 镜像名:版本
5)解析打包的镜像:
docker load -i 包名 -q
-i :后跟要解析的包名
-q :不要输出信息,可选
1)创建容器:
docker run -d --name 容器名 -p 宿主机端口:进程端口(容器内) 镜像名称
-d:表示后台运行,一般不省略
--name :后跟容器名
-p :后跟端口映射
-e :环境变量,可选
命令最后添加镜像名称
2)查看运行的容器:
docker ps
3)查看所有容器:
docker ps -a
4)停止容器:
docker stop 容器名
5)启动容器:
docker start 容器名
6)查看日志:
docker logs -f 容器名
-f:持续输出日志信息
7)进入容器:一个容器就模拟了一个操作系统
docker exec -it 容器名 bash
-it:表示添加一个可输入的终端,后跟容器名
bash:交互方式,bash表示命令行交互方式
8)删除容器:
docker rm 容器名
注意:删除运行的容器时会提示报错,有两种办法:1、停止在删除,2、容器名后面添加-f参数进行强制删除
9)查看容器详情:
docker inspect 容器名
数据卷:是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁,由于使用docker exec 命令进入指定容器中没法使用vi命令修改文件信息,所以使用数据卷进行一系列操作。注意:创建数据卷时,首先进行数据挂载
使用docker volume --help查看命令使用方法和提示
命令 | 说明 |
---|---|
docker volume create | 创建数据卷 |
docker volume ls | 查看数据卷 |
docker volume rm | 删除指定数据卷 |
docker volume inspect 数据卷名 | 查看数据卷的详情 |
docker volume prune | 清除数据卷 |
1)第一种挂载方式:
在执行docker run 命令时,使用 -v 数据卷:容器内目录 可以完成数据卷的挂载,当创建容器时,如果挂载了数据卷且数据卷不存在,会自动创建数据卷,如果创建时不指定数据挂载,系统也会自动创建数据挂载,创建一个很长名字的数据卷
eg:创建nginx容器并创建数据挂载
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
html:表示创建的数据卷的名字
创建完成后使用docker volume inspect 数据卷名命令查看宿主机的目录文件,进行操作
2)第二种挂载方式:
在执行docker run 命令时,使用 -v 本地目录:容器内目录 可以完成本地目录的挂载,注意:本地目录必须以/或者./开头,如果直接以名称开头,会被识别为数据卷而非本地,这种挂载方式还需要挂载配置文件和初始化脚本
eg:创建nginx容器并创建数据挂载
docker run -d --name nginx -p 80:80 -v ./html:/usr/share/nginx/html nginx
./html:表示创建本地数据挂载的名字
注意:这种挂载方式可以实现数据的持久保存,推荐使用这种挂载方式
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。