Docker容器常用操作命令(镜像的上传、下载、导入、导出、创建、删除、修改、启动等)详解 |
您所在的位置:网站首页 › sql更改名字的指令是什么意思 › Docker容器常用操作命令(镜像的上传、下载、导入、导出、创建、删除、修改、启动等)详解 |
1、docker镜像下载 docker pull [options] name [:tag@digest] name后边可以跟镜像标签或者镜像摘要(其实就是镜像的版本),如果不加任何东西,则会默认是在docker hub中下载:latest(最新版)的 参数详情: 名称 默认 描述 --all-tags, a
下载仓库所有镜像 --disable-content-trust true 跳过镜像校验 --platform
设置镜像所属平台, 如果有多个镜像服务.
2、查看当前docker镜像 docker images [options] [repository[:tag]] images后边可以加要查看的镜像名称和版本
3、运行镜像 docker run [options] image [:tag] [command] [arg...] 建议使用:docker run -dit [id] 参数说明: -d, --detach=false, 指定容器运行于前台还是后台,默认为false -i, --interactive=false, 打开STDIN,用于控制台交互 -t, --tty=false, 分配tty设备,该可以支持终端登录,默认为false -u, --user="", 指定容器的用户 -a, --attach=[], 登录容器(必须是以docker run -d启动的容器) -w, --workdir="", 指定容器的工作目录 -c, --cpu-shares=0, 设置容器CPU权重,在CPU共享场景使用 -e, --env=[], 指定环境变量,容器中可以使用该环境变量 -m, --memory="", 指定容器的内存上限 -P, --publish-all=false, 指定容器暴露的端口 -p, --publish=[], 指定容器暴露的端口 -h, --hostname="", 指定容器的主机名 -v, --volume=[], 给容器挂载存储卷,挂载到容器的某个目录 --volumes-from=[], 给容器挂载其他容器上的卷,挂载到容器的某个目录 --cap-add=[], 添加权限,权限清单详见:http://linux.die.net/man/7/capabilities --cap-drop=[], 删除权限,权限清单详见:http://linux.die.net/man/7/capabilities --cidfile="", 运行容器后,在指定文件中写入容器PID值,一种典型的监控系统用法 --cpuset="", 设置容器可以使用哪些CPU,此参数可以用来容器独占CPU --device=[], 添加主机设备给容器,相当于设备直通 --dns=[], 指定容器的dns服务器 --dns-search=[], 指定容器的dns搜索域名,写入到容器的/etc/resolv.conf文件 --entrypoint="", 覆盖image的入口点 --env-file=[], 指定环境变量文件,文件格式为每行一个环境变量 --expose=[], 指定容器暴露的端口,即修改镜像的暴露端口 --link=[], 指定容器间的关联,使用其他容器的IP、env等信息 --lxc-conf=[], 指定容器的配置文件,只有在指定--exec-driver=lxc时使用 --name="", 指定容器名字,后续可以通过名字进行容器管理,links特性需要使用名字 --net="bridge", 容器网络设置: bridge 使用docker daemon指定的网桥 host //容器使用主机的网络 container:NAME_or_ID >//使用其他容器的网路,共享IP和PORT等网络资源 none 容器使用自己的网络(类似--net=bridge),但是不进行配置 --privileged=false, 指定容器是否为特权容器,特权容器拥有所有的capabilities --restart="no", 指定容器停止后的重启策略: no:容器退出时不重启 on-failure:容器故障退出(返回值非零)时重启 always:容器退出时总是重启 --rm=false, 指定容器停止后自动删除容器(不支持以docker run -d启动的容器) --sig-proxy=true, 设置由代理接受并处理信号,但是SIGCHLD、SIGSTOP和SIGKILL不能被代理
4、查看正在运行的docker容器 docker ps -a :显示所有的容器,包括未运行的。 -q :静默模式,只显示容器编号。 -f :根据条件过滤显示的内容。 --format :指定返回值的模板文件。 -l :显示最近创建的容器。 -n :列出最近创建的n个容器。 --no-trunc :不截断输出。 -s :显示总的文件大小。
5、进入docker容器内部的shell docker exec -it [name] bash -d,以后台方式执行命令; -e,设置环境变量 -i,交互模式 -t,设置TTY -u,用户名或UID,例如myuser:myusergroup
6、docker build 构建镜像 docker build [OPTIONS] PATH | URL | - OPTIONS说明: -f :指定要使用的Dockerfile路径; -m :设置内存最大值; --tag, -t: 镜像的名字及标签,通常 name:tag 或者 name 格式;可以在一次构建中为一个镜像设置多个标签。 --build-arg=[] :设置镜像创建时的变量; --cpu-shares :设置 cpu 使用权重; --cpu-period :限制 CPU CFS周期; --cpu-quota :限制 CPU CFS配额; --cpuset-cpus :指定使用的CPU id; --cpuset-mems :指定使用的内存 id; --disable-content-trust :忽略校验,默认开启; --force-rm :设置镜像过程中删除中间容器; --isolation :使用容器隔离技术; --label=[] :设置镜像使用的元数据; --memory-swap :设置Swap的最大值为内存+swap,"-1"表示不限swap; --no-cache :创建镜像的过程不使用缓存; --pull :尝试去更新镜像的新版本; --quiet, -q :安静模式,成功后只输出镜像 ID; --rm :设置镜像成功后删除中间容器; --shm-size :设置/dev/shm的大小,默认值是64M; --ulimit :Ulimit配置。 --network: 默认 default。在构建期间设置RUN指令的网络模式
7、docker删除容器 (1)首先查看系统现有的容器 docker ps -a 很多是测试产生的容器,现在将他们删除,执行: docker rm [c9b077c1e8b2 97b22f5efeca] c9b077c1e8b2、97b22f5efeca为要删除容器的id
(2)删除正在运行中的容器 此时id为 ae32dddeadbf 的容器正在运行中 我们直接删除它是会报错的:
这时加上参数 -f (强制删除)即可 docker rm -f ae32dddeadbf
(3)删除所有的容器 先停止所有运行中的容器: docker stop $(docker ps -q)
再查看所有的容器: docker ps -aq
删除所有的容器: docker rm $(docker ps -aq)
8、docker删除镜像 先查看当前镜像: docker images
删除镜像: docker rmi ceshicopy2 ok,已经删除 需要注意的是,删除镜像时,必须保证没有容器正在基于此镜像运行着,所以需要先删除基于此镜像的容器,再删除镜像
9、docker镜像的导入导出 先查看当前镜像 docker images
(1)docker镜像的导出 docker save 用法:docker save > 【目标文件】 【源镜像名】 示例: docker save > nginx.tar hub.c.163.com/library/nginx
(2)docker镜像的导入 docker load 用法:docker load < 【导入的镜像】 示例: docker load < nginx.tar
10、docker容器的导入导出 查看当前容器 docker ps -a
(1)容器的导出 docker export 用法:docker export > 【目标文件】 【源镜像名】 示例: docker export > jpress.tar 8bf49fa5ca97
(2)容器的导入 docker import 用法:docker import 【导入的容器】 【导入后修改的名字】 示例: docker import jpress.tar jpress:1 注意: 容器导入后也会形成镜像,然后再运行此镜像即可!
11、保存修改后的容器内容 docker commit [容器id] [修改后的名字:tag] 示例: docker commit 03b79d8cef9d jpmysql 已经生成新的镜像,基于修改后的容器。 直接运行即可
12、镜像上传至私有仓库 docker push [OPTIONS] NAME[:TAG] 示例: 1、首先登录docker hub docker login
2、上传镜像 docker push runningrookie/ubuntu:16.04 注意:上传此镜像前,需要先把镜像的名称改为[用户名]/ubuntu:[tag]格式,前边一定要是自己登录账号的用户名; 注意:[用户名]表示你的用户名,/ubuntu表示这个叫ubuntu的存储库,后边的:[tag]才是你上传到docker hub后显示的标签名称。
3、进入docker hub查看
13、docker容器设置开机自启 1、用法: 启动时加--restart=always参数
2、示例: docker run --restart=always ..... 如果创建时未指定 --restart=always ,可通过update 命令设置: docker update --restart=always xxx 若想要关闭自启动,可执行 docker update --restart=no xxx
3、参数: no 不自动重启容器. (默认值) on-failure 容器发生error而退出(容器退出状态不为0)重启容器,可以指定重启的最大次数,如:on-failure:10 unless-stopped 在容器已经stop掉或Docker stoped/restarted的时候才重启容器 always 在容器已经stop掉或Docker stoped/restarted的时候才重启容器,手动stop的不算 |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |