docker学习——操作docker容器
一:创建容器
docker create [options] 镜像名 [command] [arg ....]
(1)与容器运行模式相关的选项
-a:是否绑定到标准输入,输出和错误
-d:是否在后台运行,默认为否
--detach-key=“ ”:从attch模式退出的快捷键
--expose=[ ]:指定容器会暴露出来的端口或端口范围
--group-add=[ ]:运行容器的用户组
-i:保持标准输入打开
--ipc=“ ”:容器IPC命名空间,可以为其他容器或主机
--isolation=“default”:容器使用的隔离机制
--log-opt=[ ]:传递给日志驱动的选项
--log-driver=“json-file”:指定容器日志驱动的类型
--net=“bridge”:指定容器的网络模式
--net-alias=[ ]:容器在网络中的别名
-P:通过NAT机制将容器标记暴露的端口自动映射到本地主机的临时端口
-p:指定如何映射到本地主机端口
--pid=host:容器的pid命名空间
--userns=“ ”:启动userns-remap时配置用户命名空间模式
--restart=“no”:容器重启策略
--rm=true|false:容器退出后是否自动删除,不能跟-d同时使用
-t:是否分配一个伪终端,默认为false
--tmpfs=[ ]:挂在临时文件系统到容器
-v | --volume[=[[HOS_DIR:] CONTAINER_DIR [:OPTIONS]]]:挂在主机上的文件卷到容器内
--volume-driver=“ ”:挂载文件卷的驱动类型
--volumes-from=[ ]:从其他容器挂载卷
-w:容器内的默认工作目录
(2)与容器环境和配置相关的选项
--add-host=[ ]:在容器内添加一个主机名到IP地址放入映射关系(/etc/hosts文件)
--device=[ ]:映射物理机的设备到容器内
--dns-search=[ ]:DNS搜索域
--dns=[ ]:自定义的dns服务器
-e:指定容器内环境变量
--env-file=[ ]:从文件中读取环境变量到容器内
-h:指定容器内的主机名
--ip=“ ”:指定容器的IPv4地址
--ip6=“ ”:指定容器的IPv6地址
--link=[<name or id>:alias]:链接到其他容器
--mac-address=“ ”:指定容器的mac地址
--name=“ ”:指定容器的别名
(3)与容器资源限制和安全保护相关的选项
-l:以键值对方式指定容器的标签信息
--label-file=[ ]:从文件中读取标签信息
二:启动容器
docker start 容器名
三:新建并启动容器
docker run [options] 镜像名 [命令] [arg ....]
常见的错误代码:
125:Docker daemon 执行出错,例如:指定了不对的参数
126:所指定的命令无法执行,例如:权限出错
127:容器内命令无法找到
四:守护态运行
-d
五:终止容器
docker stop [options] 容器名 ....
重启容器:docker restart [options] 容器名
六:进入容器
(1)attach命令
docker attach [options] 容器名
--detach-key[=[ ]]:指定退出attach模式的快捷键序列,默认是ctrl+p,ctrl+q
--no-stdin=true|false:是否关闭标准输入,默认是保持打开
--sig-proxy=true|false:是否代理收到的系统信号应用进程,默认为true
(2)exec命令
docker exec [options] 容器名 command [arg ....]
-i:打开标准输入接受用户输入命令,默认是false
--privileged=true|false:是否给执行命令以高权限,默认为false
-t:分配的终端
-u:执行命令的用户名或ID
七:删除容器
docker rm [options] 容器名
-f:强制删除
-l:删除容器的链接,但保留容器
-v:删除容器挂载的数据卷
八:导入和导出容器
(1)导出容器
docker export [options] 容器名
-o:指定导出的tar文件名
(2)导入容器
docker import [options] 容器名
-c:应用docker指令创建镜像,即在导入的同时执行对容器进行修改的Dockkerfile指令
-m:提交时的说明文字