赞
踩
目录
systemctl start dock 启动
systemctl stop dockerer 停止
systemctl restart docker 重启
systemctl status docker 查看状态
systemctl enable docker 开机启动
docker info 查看概要信息
docker --help 查看帮助文档
docker 具体命令 --help 具体指令
docker update --restart=always [容器id] 更新自动启动
docker update --restart=no [容器id] (默认退出不自动重启)
docker images [选项] 列出本机所有镜像 选项 -a列出所有本地镜像(包含映像层)-q只显示镜像ID
docker search [OPTIONS] 镜像名字 网站 Docker Hub 选项--limit 只列出第几个镜像 ,默认25个
docker pull 镜像名字[:TAG] 默认最新版
举例:docker pull redis:6.0.8
docker tag [镜像ID] [新镜像名称]:[Tag] 镜像重新命名复制,之后还得把多余的删掉
docker system df 查看镜像/容器/数据卷所占的空间
docker rmi -f 镜像ID 删除镜像
docker rmi -f 镜像名1:TAG 镜像名2:TAG 删除多个镜像
docker rmi -f $(docker images -qa) 删除全部镜像
docker run [选项] IMAGE [COMMAND] [ARG...] docker启动服务
选项:--name="容器新名字"
-d: 后台运行容器并返回容器ID,启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p 说明-p 端口1:端口2 端口1主机端口,端口2容器端
举例:docker run -it ubuntu /bin/bash
退出形式:1.exit run进去容器,exit退出,容器停止
2.ctrl+p+q, run进去容器,容器不停止
docker start 容器ID或者容器者 启动已停止运行的容器
docker restart 容器ID或容器明 重启重启
docker stop 容器ID或者容器名 停止容器
docker kill 容器ID或容器名 强制停止容器
docker rm 容器ID 删除已经停止容器 举例:docker rm -f $(docker ps -a -q) docker ps -a -q | xargs docker rm
docker run -d容器 在后台开启守护进程
ps:docker run -d redis:6.0.8
docker logs uid 查看日志
举例docker logs 2ad6d35b3de2
docker top UID查看容器内的进程
ps:
docker inspect uid 查看容器内部细节
ps:
docker exec -it 容器ID bashShell 退出ctrl+p+d的时候 可以再次进去
docker attach 容器ID 重新进入
ps :attach直接进入容器启动命令的终端,不会启动新的进程。用exit退出,会导致容器停止
exec在容器中打开新的终端,并且可以启动新的进程,不会导致容器停止(多用这个)
docker cp 容器ID:容器内路径 目的主机路径 拷贝容器的内容
docker export 容器ID > 文件名.tar 文件备份
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号 把备份的文件进行恢复
docker update --restart=always 容器名字或ID docker容器启动的时候默认开启
docker run -it --name test --restart=always 容器id /bash 在docker容器刚运行的时候设置自动启动
镜像概念:是一种轻量级、可执行的独立软件包,它包含运行某个软件所需的所有内容,我们把应用程序和配置依赖打包好形成一个可交付的运行环境(包括代码、运行时需要的库、环境变量和配置文件等),这个打包好的运行环境就是image镜像文件。
只有通过镜像才可以生成Docker容器实例
镜像分层:
docker镜像实际是由一层一层的文件系统生成,docker最底层是引导文件系统bootfs.
镜像分层最大的一个好处是共享资源,方便复制迁移,方便复用
比如说有多个镜像都从相同的 base 镜像构建而来,那么 Docker Host 只需在磁盘上保存一份 base 镜像;
同时内存中也只需加载一份 base 镜像,就可以为所有容器服务了。而且镜像的每一层都可以被共享。
当容器启动时,一个新的可写层被加载到镜像的顶部。这一层通常被称作“容器层”,“容器层”之下的都叫“镜像层”。
Docker镜像层只读,容器层可写
ubuntu默认不带vim文本编辑器,重写下载再生成新的容器
安装vim:
apt-get update
apt-get -y install vim
下载完vim再进行打包
docker commit -m="add vim " -a="qing" 0e6971a99d41 qing/myubuntu:1.2
-m "提交信息" -a "作者" UID 新的镜像名字
主要功能:
运行镜像的时候,希望对里面的数据进行持久化
特点:
1.数据卷可在容器之间共享或重用数据
2.卷中的更改可以直接实时生效
3.数据卷中的更改不会包含在镜像的更新中
4.数据卷的生命周期一直持续到没有容器使用它为止
docker run -it --privileged=true -v /宿主机绝对路径目录:/容器内目录 镜像名 -v表示挂载
举例:
docker run -it --privileged=true -v /mydocker/u:/tmp[选项] --name u1 ubuntu
解释:启动ubuntu容器,并把ubuntu中的容器内目录地址映射到主机的/mydocker/u的容器中
参数:
rw: 读写(默认)
ro:只读
--volumes-from :继承
举例:
docker run -it --privileged=true --volumes-from u1 --name u2 ubuntu
解释:
u2继承u1,相当于一个主机上面挂了两个镜像,在主机上修改每个镜像都会有改变
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。