欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

docker容器(2)——容器操作

程序员文章站 2024-03-11 17:50:01
...

1 查看容器

docker ps [OPTIONS]

   -- OPTIONS说明:
			-a :显示所有的容器,包括未运行的。
			-f :根据条件过滤显示的内容。
			--format :指定返回值的模板文件。
			-l :显示最近创建的容器。
			-n :列出最近创建的n个容器。
			--no-trunc :不截断输出。
			-q :静默模式,只显示容器编号。
			-s :显示总的文件大小。

2 创建新的容器并运行一个命令

docker run <选项> <镜像名称> <要运行的文件>

OPTIONS说明:
			-i: 以交互模式运行容器,通常与 -t 同时使用;
			-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
			--name="nginx-lb": 为容器指定一个名称;
			-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
			-d: 后台运行容器,并返回容器ID;
			-P: 随机端口映射,容器内部端口随机映射到主机的高端口
			-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
			--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
			--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
			-h "mars": 指定容器的hostname;
			-e username="ritchie": 设置环境变量;
			--env-file=[]: 从指定文件读入环境变量;
			--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
			-m :设置容器使用内存最大值;
			--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
			--link=[]: 添加链接到另一个容器;
			--expose=[]: 开放一个端口或一组端口;
			--volume , -v: 绑定一个卷
			
eg: 
sudo  docker  run  -it   --name  hello  ubuntu  /bin/bash

3 启动、重启、停止、删除容器

docker start <容器名称/容器ID>

docker restart <容器名称/容器ID>

docker stop <容器名称/容器ID>

docker rm <容器名称/容器ID>

4 创建一个新的容器但不启动它

docker create <选项> <镜像名称>

eg.   使用docker镜像nginx:latest创建一个容器,并将容器命名为myrunoob
      docker create  --name myrunoob  nginx:latest   

5 在一个启动的容器中执行命令

docker exec <选项> <镜像名称>

OPTIONS说明:
			-d :分离模式: 在后台运行
			-i :即使没有附加也保持STDIN 打开
			-t :分配一个伪终端
			
eg. 在容器 mynginx 中以交互模式执行容器内 /root/runoob.sh 脚本: 
    docker exec -it mynginx /bin/sh /root/runoob.sh
    
eg. 在容器 mynginx 中开启一个交互模式的终端:  
	docker exec -i -t  mynginx /bin/bash

6 在容器与主机之间拷贝数据

docker cp <容器ID>:<SRC_PATH> <DST_PATH> 从容器中拷贝内容到主机目录下

docker cp <SRC_PATH> <容器ID>:<DST_PATH> 从主机目录下拷贝内容到容器中