docker–docker 容器操作

  • 2019 年 11 月 26 日
  • 筆記

6 docker 容器操作

容器是 docker 镜像的运行时实例。

6.1 创建容器

docker run [options] image command [ARG...]  options选项: ‐i、‐t、‐d、‐‐name  ‐i:交互式容器  ‐t:tty,终端  ‐d:后台运行,并且打印容器id  sh /usr/local/tomcat7/bin/startup.sh(shell脚本  #/bin/bash  py  rb  lua)  Linux:根的进程:/bin/bash  tree  /xxx  /yyy  eg:创建的容器名称不能重复  创建交互式容器:创建后进去容器  docker run -i -t --name=c1 centos /bin/bash  交互式容器省写  docker run -it --name c2 centos /bin/bash  创建守护式容器:后台运行,创建后打印id,并未进去容器  docker run -itd --name c3 centos /bin/bash

6.2 进入容器

方式一:  docker attach 容器名称/id (ps:exit,容器停止)  eg:docker attach u3  方式二:  docker exec ‐it 容器名称/id /bin/bash    (ps:exit,容器不会停止)  eg:docker exec ‐it c3 /bin/bash

6.3 查看容器

docker ps:查看正在运行的容器  docker ps ‐a:查看运行过的容器(历史)  docker ps ‐l:最后一次运行的容器

6.4 停止/启动容器

docker start 容器名称/id  docker stop 容器名称/id

6.5 获取容器/镜像的元数据

查看容器/镜像全部信息:  docker inspect 容器/镜像  查看容器/镜像部分信息:  docker inspect ‐f='{{.NetworkSettings.IPAddress}}' 容器/镜像  ‐f:可通过‐‐format代替

6.6 删除容器

删除一个容器:  docker rm 容器名称/id  删除多个容器:  docker rm 容器名称1/id1 容器名称2/id2 ...  删除所有容器  docker rm `docker ps ‐a ‐q`  PS:无法删除正在运行的容器

6.7 查看容器日志

docker logs 容器名称/id

6.8 文件拷贝

如果我们需要将文件拷贝到容器内可以使用cp命令

docker cp  需要拷贝的文件或目录 容器名称:容器目录  例如:docker cp 1.txt c2:/root

也可以将文件从容器内拷贝出来

docker cp  容器名称:容器目录 需要拷贝的文件或目录  例如:docker cp c2:/root/2.txt /root

6.9 目录挂载

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可 以通过修改宿主机某个目录的文件从而去影响容器。 创建容器 添加-v参数 后边为 宿主机目录:容器目录

docker run ‐id ‐‐name=c4 ‐v /opt/:/usr/local/myhtml centos

如果你共享的是多级的目录,可能会出现权限不足的提示

permission denied

这是因为 CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 — privileged=true 来解决挂载的目录没有权限的问题

docker run ‐id ‐‐privileged=true ‐‐name=c4 ‐v /opt/:/usr/local/myhtml  centos