1. //导入本地镜像
  2. docker load -i nginx-1.19.tar

1 通过镜像运行容器

docker pull tomcat:8.0
docker run tomcat:8.0 //现在在容器中有一个服务运行在8080端口,在外界访问不到

c.png
Tips:现在运行的容器和操作系统之间是隔离的

# a 宿主机端口映射容器端口 -p
docker run -p 8080(宿主机端口):8080(端口) tomcat:8.0
//运行多个容器
docker run -d -p 8080:8080 tomcat:8.0
docker run -d -p 8081:8080 tomcat:8.0
# b  给容器命名-后台运行-端口映射
 docker run -d -p 8081:8080 --name tomcat-v1 tomcat:8.0

2 查看容器

docker ps //查看正在运行的容器
docker ps -a //查看所有的氢气
docker ps -q //查看正在运行的容器的id
docker ps -aq //返回所有容器的id

3 容器的停止重启

docker stop   [name|id]  //正常停止容器
docker start xxx         //开启容器
docker restart xxx       //重启容器
docker kill xxx          //立即停止容器

4 容器日志

docker logs [name:id]
docker logs -f [name:id] //实时监听容器
docker logs -tf [name:id] //实时展示容器,及加入时间戳
docker logs --tail 5 [name:id]

5 查看容器内的进程

docker top [name:id]

6 通过宿主机与容器内进行交互

docker exec -it [name:id]  bash
//-it  进入容器的交互模式  bash就是容器内部的命令行
exit //退出容器

7 操作系统与容器的文件交互

  • 将容器的内容拷贝到宿主机上

    docker cp [name|id]:容器内资源路径  操作系统中的路径
    
    docker cp myapp:/app/app.js /home
    //拷贝myapp容器中/app目录下的app.js文件,到宿主机的/home目录下
    
  • 从操作系统复制文件到容器

    docker cp 文件|目录名  容器(id|name):/容器内资源路径
    
    docker cp a.txt myapp:/app
    //复制当前路径下的a.txt文件,到myapp容器中的app目录下