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