一、docker容器操作 类和对象的意思
1、运行容器
docker run 镜像标识镜像名称[:tag]
docker run hello-world
docker run -d -p 宿主机端口:容器端口 --name 容器名称 镜像标识镜像名称[:tag]
docker run -d -p 80:80 --name testweb httpd
常用选项:
- -d(--detach):后台运行容器,并返回容器ID。
- -i(--interactive):容器的标准输入保持打开。
- -t(--tty):为容器重新分配一个伪输入终端(Pseudo TTY)。
- -p(--publish):设置端口映射,格式:'主机端口:容器端口'。
- -P:发布容器中所有暴露的端口。
- --dns:指定容器使用的dns服务器(默认是和主机的dns设置一致)。
- --name:为容器指定名称。
- --rm:容器退出时自动删除。
- -v:将主机本地的目录和容器目录绑定,实现数据的持久化,将数据存储在本地文件系统中
- --restart:设置重启策略,如设置always,表示容器即使异常退出也会自动重启
2、查看正在运行的容器
docker ps [-qa]
- -a:查看所有的容器,包括没有运行的
- -q:只查看容器得到的标识
3、查看容器的日志
docker logs -f 容器id
4、进入容器内部
docker exec -it 容器id bash #进去后退出 exit
5、删除容器 删除容器前要先停止容器
#停止指定的容器
docker stop 容器id
#停止全部容器
docker stop $(docker ps -qa)
#删除指定的容器
docker rm 容器id
#删除全部容器
docker rm $(docker ps -qa)
#启动容器
docker start 容器id
6、拷贝文件到容器
docker cp demo a17:/usr/local/xxx #ai7 容器id
二、数据卷操作
文件上传容器时,如果要修改,需要进入容器内部。并且因为没有编辑器,修改文件也很麻烦,这就是因为容器与数据(容器内文件)耦合带来的后果。
数据卷(volume) 是一个虚拟目录,指向宿主机文件系统中的某个目录。 数据卷的作用:将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全
数据卷操作的基本语法如下:
docker volume [COMMAND]
docker volume命令是数据卷操作,根据命令后跟随的command来确定下一步的操作:
- create 创建一个volume
- inspect 显示一个或多个volume的信息
- ls 列出所有的volume
- prune 删除未使用的volume
- rm 删除一个或多个指定的volume
1、创建数据卷
docker volume create html
2、查看所有数据
docker volume ls
3、查看数据卷详细信息卷
docker volume inspect html
4、删除数据卷
docker volume rm html
5、应用数据卷
当你映射数据卷时,如果数据卷不存在,docker会自动帮你创建,会将容器内部自带的文件,存储在默认存储路径中
docker run -v 数据卷名称:容器内部的路径 镜像id
ps:docker run -d -p 80:80 -v html:/usr/local/ngnix/www --name ngnix ca5
#直接指定一个路径作为数据卷的存储位置,这个路径下是空的
docker run -v 路径:容器内部的路径 镜像id
ps:docker run -d -p 80:80 -v /var/local/html:/usr/local/ngnix/www --name ngnix ca5