docker安装与使用(三)

227 阅读3分钟

一、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