Docker操作(二)容器

一、容器的特点:

1、容器是基于镜像来运行

2、容器具备沙箱机制,容器之间相互隔离

3、容器是运行在Docker内部,跟宿主机也是隔离的,但宿主机可以与容器进行映射

4、外部无法直接访问Docker内部容器,只能访问宿主机

二、操作容器

1、运行一个前台容器[没有名字的容器]

1) docker run -p 8001:8080 镜像ID[镜像名称:版本]
2) docker run -d -p 宿主机端口:容器端口 --name 容器名称 -v 宿主机目录:容器内部目录 镜像ID
	-p: 映射端口   宿主机端口:容器端口
	-d: 后台运行
	--name: 容器名称
	--rm: 停止容器后自动删除容器
	-v: 数据卷映射   把宿主机的目录和容器内部的目录进行挂载关系【操作宿主机的目录就相当于在操作容器内部的目录】
docker run -d -p 8002:8080 --rm --name tomcat8002 -v /opt/tomcat8002/webapps:/usr/local/tomcat/webapps 8384f49437b3
  • 数据卷映射
    容器的特点使得外部无法直接访问容器内部,而且没有数据卷操作容器步骤会很麻烦
    那么通过数据卷映射把宿主机的目录和容器内部的目录进行挂载关系
    【操作宿主机的目录就相当于在操作容器内部的目录】
    这样操作会简单许多,不用进入容器内部,在外部操作即可对容器内部操作

在宿主机/opt/tomcat8002/webapps目录下创建ROOT/index.html

vi 编辑index.html 保存并退出
vi /opt/tomcat8002/webapps/ROOT/index.html 按i进入编辑
按esc推出编辑 输入:wq 保存退出

网页访问,地址栏输入宿主机IP地址 : 8002
不知道ip可以使用命令ifconfig查

2、进入容器内部[默认会自动进入到容器的工作目录]

docker exec -it 容器ID[容器名称] bash

容器id可以在第三步查看

#退出容器内部
exit

3、查看正在运行容器

docker ps 
#查看全部容器【包括停止的容器】
docker ps -a

4、停止、启动、重启容器

docker stop|start|restart 容器ID[容器名称]

5、删除容器【容器必须停止】

docker rm 1容器ID 2容器ID

6、删除所有停止运行的容器

docker rm $(docker ps -qa)
#docker ps -qa : 返回所有容器的ID