Docker常用命令

合集下载

docker

docker

一、安装docker对于CentOS6,可以使用EPEL 库安装Docker,命令如下$ sudo yum install /epel/6/i386/epel-release-6-8.noarch.rpm$ sudo yum install docker-io安装之后启动Docker 服务,并让它随系统启动自动加载。

$ sudo service docker start$ sudo chkconfig docker on二、常用操作命令修改并提交镜像docker run -t -i training/sinatra /bin/bashroot@0b2616b0e5a8:/#注意:记住容器的ID,稍后还会用到。

sudo docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2 4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的ID;最后指定目标镜像的仓库名和tag 信息。

创建成功后会返回这个镜像的ID 信息。

使用docker images 来查看新创建的镜像。

$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE training/sinatra latest 5bc342fa0b91 10 hours ago 446.7 MBouruser/sinatra v2 3c59e02ddd1a 10 hours ago 446.7 MBouruser/sinatra latest 5db5f8471261 10 hours ago 446.7 MB创建、启动容器docker run -t -i ubuntu /bin/bash-t:让docker分配一个伪终端并绑定到容器的标准输入-i:让容器的标准输入保持打开docker run -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"返回一个id,可通过docker ps查看-d:让容器以后台守护态运行启动已经停止的容器docker ps -a查找到已经停止的容器docker -ai ubuntu使用-a 参数将容器的输出导出到终端,同时使用-i 参数进行交互式的操作当以后台形式启动容易,如何进入容器wget ~ https:///yeasy/docker_practice/raw/master/_local/.bashrc_docker;echo "[ -f ~/.bashrc_docker ] && . ~/.bashrc_docker" >> ~/.bashrc; source ~/.bashrcdocker psCONTAINER ID IMAGE COMMAND CREATED STA TUS PORTS NAMES243c32535da7 ubuntu:latest "/bin/bash" 18 seconds ago Up 17 seconds nostalgic_hypatiadocker-pid 243c32535da7nsenter --target 10981 --mount --uts --ipc --net --pidDocker exec -ti name /bin/bash导出容器:sudo docker ps -aCONTAINER ID IMAGE COMMAND CREATED STA TUS PORTS NAMES7691a814370e ubuntu:14.04 "/bin/bash" 36 hours ago Exited (0) 21 hours ago testsudo docker export 7691a814370e > ubuntu.tar导入容器cat ubuntu.tar | sudo docker import - test/ubuntu:v1.0删除容器docker rm trusting_newton如果要删除一个运行中的容器,可以添加-f 参数。

Docker系列二:docker常用命令总结

Docker系列二:docker常用命令总结

Docker系列⼆:docker常⽤命令总结容器⽣命周期管理1.docker run创建⼀个新的容器并运⾏⼀个命令docker run [options] image [command] [arg...]-a stdin:指定标准输⼊输出内容类型,可选STDIN/STDOUT/STDERR-d: 后台运⾏容器,并返回容器ID-i: 以交互式运⾏容器,通常与-t同时使⽤-p: 端⼝映射,格式为主机(宿主)端⼝:容器端⼝-t: 为容器重新分配⼀个伪输⼊终端,通常与-i同时使⽤--name="name": 为容器指定⼀个名称--dns 8.8.8.8: 为容器指定⼀个dns服务器,默认与宿主⼀致--dns-search domain:为容器指定⼀个DNS域名,默认与宿主⼀致-h "hostname": 指定容器的hostname-e arg="value": 设置环境变量-env-file=[]:从指定⽂件读⼊环境变量--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定的cpu运⾏-m: 设置容器使⽤内存最⼤值--net="bridge": 指定容器的⽹络连接类型,⽀持bridge/host/none/container四种类型--link=[]:添加链接到另外⼀个容器--expose=[]:开放⼀个端⼝或⼀组端⼝,宿主机使⽤随机端⼝映射到开放的端⼝#实例docker run --name mynginx -d nginx:latest# 映射多个端⼝docker run -p 80:80/tcp -p 90:90 -v /data:/data -d nginx:latestdocker run -p 127.0.0.1:80:8080/tcp ubuntu bashdocker run -it nginx:latest /bin/bash2.start/stop/restart命令启动/关闭/重启容器docker start/stop/restart [options] container [container...]3.kill命令杀掉⼀个运⾏中的容器-s:向容器发送⼀个信号docker kill -s KILL mynginx4.rm命令删除⼀个或多个容器-f:通过SIGKILL信号强制删除⼀个运⾏中的容器-l:移除容器间的⽹络连接,⽽⾮容器本⾝-v:-v删除与容器关联的卷docker rm -f db01 db02docker rm -l dbdocker rm -v nginx015.pause/unpause命令pause暂停,unpause恢复docker pause [OPTIONS] CONTAINER [CONTAINER...]docker unpause [OPTIONS] CONTAINER [CONTAINER...]6.create命令创建⼀个容器,但不启动它(⽤法类似docker run)docker create --name mynginx nginx:latest7.exec命令docker exec:在运⾏的容器中执⾏命令-d:分离模式:在后台运⾏-i:及时没有附加也保持STDIN打开-t:分配⼀个伪终端docker exec -it mynginx /bin/bash /root/secript.shdocker exec -i -t mynginx /bin/bash # 使⽤该命令可以分配⼀个伪终端执⾏命令, 使⽤exit推出时,docker容器不会⾃动关闭容器操作1.PS列出容器-a: 显⽰所有容器,包括未运⾏的-f: 根据条件过滤显⽰的内容--format: 指定返回值的模板⽂件-l: 显⽰最近创建的容器-n: 列出最近创建的n个容器--no-trunc: 不截断输出-q: 静默模式,值显⽰容器编号-s: 显⽰总⽂件⼤⼩docker psdocker ps -n 5docker ps -a -q2.inspect获取容器/镜像的元数据-f: 指定返回值的模板-s: 显⽰总的⽂件⼤⼩--type: 为指定类型返回JSONdocker inspect mysql:5.6docker inspect --format='{{range works}}{{.IPAddress}}{{end}}' mymysql3.top查看容器中运⾏的进⾏信息,⽀持ps命令参数docker top [options] container [ps options]docker top mymysql4.attach连接到运⾏中的容器docker attach [options] container# --sig-proxy=false加上参数容器还是会退出(通过ctrl+D退出容器)docker attach --sig-proxy=false mynginx5.events从服务器获取实时时间(监听)-f: 根据条件过滤事件--since:从指定的时间戳后显⽰所有事件--until:流⽔时间显⽰到指定的时间为⽌如果不加任何参数,监听当前事件docker events6.logs获取容器的⽇志(容器中输出到STDOUT,STDERR中的⽇志)-f: 跟踪⽇志输出--since: 显⽰某个时间开始的所有⽇志-t: 显⽰时间戳--tail: 仅列出最新n条容器⽇志docker logs -f mynginx7.wait阻塞运⾏直到容器停⽌,然后打印它的退出代码docker wait container8.export将容器的⽂件系统作为⼀个tar归档⽂件导出到stdoutdocker export -o mysql-`data +%Y%m%d`.tar a404c6c174a29.port列出指定的容器的端⼝映射或者查找将PRIVATE_PORT NAT到⾯向公众的端⼝docker port mysql10.update更新容器的⼀些配置(内存,cpu,是否⾃动启动), 修改内存时,虚拟机必须是关机状态,否则报错未知参数root@bogon:~# docker update --helpUsage: docker update [OPTIONS] CONTAINER [CONTAINER...]Update configuration of one or more containersOptions:--blkio-weight uint16 Block IO (relative weight), between 10 and 1000, or 0 to disable (default 0) --cpu-period int Limit CPU CFS (Completely Fair Scheduler) period--cpu-quota int Limit CPU CFS (Completely Fair Scheduler) quota--cpu-rt-period int Limit the CPU real-time period in microseconds--cpu-rt-runtime int Limit the CPU real-time runtime in microseconds-c, --cpu-shares int CPU shares (relative weight)--cpus decimal Number of CPUs--cpuset-cpus string CPUs in which to allow execution (0-3, 0,1)--cpuset-mems string MEMs in which to allow execution (0-3, 0,1)--kernel-memory bytes Kernel memory limit-m, --memory bytes Memory limit--memory-reservation bytes Memory soft limit--memory-swap bytes Swap limit equal to memory plus swap: '-1' to enable unlimited swap--restart string Restart policy to apply when a container exitsroot@bogon:~# docker update --memory-swap 10240000 -m 10240000 portainer容器rootfs命令mit从容器创建⼀个新的镜像-a: 提交的镜像作者-c: 使⽤dockerfile指令来创建镜像-m: 提交时的说明⽂字-p: 在提交时,将容器暂停docker commit -a "" -m "my apache" a404c6c174a2 myapache:v12.cp⽤于容器和主机之间的数据拷贝docker cp [options] container:src_path dest_pathdocker cp [options] src_path container:dest_pathdocker cp /www/runoob 96f7f14e99ab:/www/docker cp 96f7f14e99ab:/www/ /www/runoob3.diff检查容器⾥⽂件结构的修改docker diff [options] containerdocker diff mymysql镜像仓库1.login/logout登陆docker hub公共仓库(需要⾃⼰去注册)docker login [options] [server]docker logout [options] [server]-u: 登陆的⽤户名-p: 登陆的密码2.pull从镜像仓库中拉取或更新指定镜像docker pull [options] name[:tag|@DIGEST]-a: 拉取所有tagged镜像--disable-content-trust: 忽略镜像的校验,默认开启# 下载最新版java镜像docker pull java3.push将本地镜像上传到镜像仓库,要先登陆到镜像仓库docker push [options] name[:tag]--disable-content-trust: 忽略镜像的校验,默认开启docker push myapache:v14.search在docker hub查找镜像docker search [options] term--automated: 只列出automated build类型的镜像--no-trunc: 显⽰完整的镜像描述-s: 列出收藏数⼩于指定值的镜像docker search -s 10 java本地镜像管理1.images列出本地镜像docker images [options] [repository:tag]-a: 列出本地所有镜像(含中间映像层,默认过滤中间映像层) --digests: 显⽰镜像的摘要信息(MD5值)-f: 显⽰满⾜条件的镜像--format: 指定返回值的模版⽂件--no-trunc: 显⽰完整的镜像信息-q: 只显⽰镜像IDdocker imagesdocker images ubuntu2.rmi删除本地⼀个或多个镜像-f:强制删除--no-prune: 不移除该镜像的过程进⾏,默认移除docker rmi -f runoob/ubuntu:v43.tag标记本地镜像,将其归⼊某⼀个仓库# 把镜像ubuntu:15.10标记为runoob/ubuntu:v3 docker tag ubuntu:15.10 runoob/ubuntu:v34.build⽤于使⽤dockerfile创建镜像(后⾯会讲解到) docker build [options] path | url | -5.history查看指定镜像的创建历史docker history [options] image-H: 以可读的格式打印镜像⼤⼩和⽇期,默认为true--no-trunc: 显⽰完整的提交记录-q: 仅列出提交记录ID6.save将指定镜像保存成tar归档⽂件docker save [options] image [image ...]-o: 输出⽂件docker save -o my_ubuntu_v3.tar runoob/ubuntu:v37.import从归档⽂件中创建镜像docker import [options] file |URL |- [repository:tag] docker import my_ubuntu_v3.tar runoob/ubuntu:v4info/version显⽰docker系统信息,包括镜像和容器数docker info [options]docker info2.version显⽰docker版本信息docker version [options]-f: 指定返回值的模板⽂件docker version其他stats查看每个运⾏的docker容器的状态docker statsCONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 9c5e0e259466 test02 0.02% 12.46MiB / 100MiB 12.46% 1.3kB / 0B 19.2MB / 16.4kB 2d5183228b334 test01 0.02% 12.55MiB / 100MiB 12.55% 1.04kB / 0B 7.59MB / 16.4kB 2。

docker打包镜像,运行镜像命令,docker常用指令

docker打包镜像,运行镜像命令,docker常用指令

docker打包镜像,运⾏镜像命令,docker常⽤指令dockerfile⽂件:解决图形验证码空指针异常#FROM java:8FROM openjdk:8-jdk-alpineRUN set -xe \&& apk --no-cache add ttf-dejavu fontconfigARG JAR_FILECOPY ${JAR_FILE} app.jarEXPOSE xxxx端⼝号ENTRYPOINT ["java","-jar","/app.jar"]打包镜像:docker build --build-arg JAR_FILE=zgj.jar -t zgj:v1 .查看镜像:docker images运⾏容器:docker run -i --name=zgj -p 宿主机端⼝:容器端⼝ zgj:v1docker 常⽤指令 容器指令: systemctl restart docker 重启docker docker run -i 镜像名称:标签运⾏容器(默认是前台运⾏) docker ps 查看运⾏的容器 docker ps -a 查询所有容器 1)常⽤的参数: -i:运⾏容器 -d:后台守⽅式运⾏(守护式) --name:给容器添加名称 -p:公开容器端⼝给当前宿主机 -v:挂载⽬录 docker exec -it 容器ID/容器名称 /bin/bash 进⼊容器内部 docker start/stop/restart 容器名称/ID 启动/停⽌/重启容器 docker rm -f 容器名称/ID 删除容器 2)镜像指令: docker search 镜像名称搜索镜像 docker pull 镜像名称拉取镜像 docker images 查看本地所有镜像 docker rmi -f 镜像名称删除镜像 docker pull openjdk:8-jdk-alpine 拉取镜像Dockerfile常见命令 MAINTAINER user_name 声明镜像的作者 ENV key value 设置环境变量 (可以写多条) RUN command 编译镜像时运⾏的脚本(可以写多条) CMD 设置容器的启动命令 ENTRYPOINT 设置容器的⼊⼝程序 ADD source_dir/file dest_dir/file 将宿主机的⽂件复制到容器内,如果是⼀个压缩⽂件,将会在复制后⾃动解压 COPY source_dir/file dest_dir/file 和ADD相似,但是如果有压缩⽂件并不能解压 WORKDIR path_dir 设置⼯作⽬录 ARG 设置编译镜像时加⼊的参数 VOLUMN 设置容器的挂载卷。

docker系列-基础镜像环境和Docker常用命令整理

docker系列-基础镜像环境和Docker常用命令整理

docker系列-基础镜像环境和Docker常⽤命令整理在hub官⽹会经常能看到 alpine 字样, alpine 是要给⾮常轻量级的Linux发⾏版,Docker官⽅已经推荐使⽤alpine 代替之前的 Ubuntu作为基础镜像环境, 好处是制作出的最终镜像⽂件很多, 但docker dub上⽬前仍以 Ubuntu 为主流的基础镜像环境.=======================⽤于 docker 命令学习的镜像和命令=======================下⾯镜像常⽤于 docker 命令学习docker pull nginx:1.15-alpine #只需要20M的空间docker pull busybox #只占⽤2M空间以守护态运⾏容器, 经常⽤于容器的学习.docker run -d --name mybusybox busybox /bin/sh -c "while true; do echo hello world; sleep 1; done"使⽤镜像nginx:1.15-alpine以后台模式启动⼀个容器, 并将容器的80端⼝映射到主机随机端⼝(80是该镜像expose的端⼝)docker run -P -d --name mynginx1 nginx:1.15-alpine使⽤镜像nginx:1.15-alpine以后台模式启动⼀个容器, 指定主机的端⼝为 80docker run -p 80:80 -d --name mynginx2 nginx:1.15-alpine=======================docker 容器端⼝映射=======================1. 指定host端⼝和容器内端⼝使⽤镜像nginx:1.15-alpine以后台模式启动⼀个容器, 指定主机的端⼝为80, 冒号前的host端⼝, 冒号后为容器内部的端⼝.docker run -p 80:80 -d --name mynginx2 nginx:1.15-alpine2. 容器内端⼝随机分配⼀个Host端⼝下⾯ -p 参数的 80 指的是容器内部的端⼝, 没有指定host端⼝, docker在主机上⾃动开放⼀个映射端⼝(当然是未被占⽤的), ⾃动端⼝号⼀般⼤于等于 32768 .docker run -p 80 -d --name mynginx2 nginx:1.15-alpine3. ⾃动为所有的 Dockerfile EXPOSE 端⼝映射Host端⼝Dockerfile EXPOSE 可能会开放多个端⼝, 使⽤ -P 参数将⾃动为这些容器内部端⼝分配对应的Host主机端⼝docker run -P -d --name mynginx1 nginx:1.15-alpine=======================docker 的⼀些常⽤命令=======================docker images 命令, 显⽰可⽤的容器docker rmi <镜像Id> 命令,删除指定镜像docker pull hello-world 命令 , 下载 hello-world imagedocker rmi <镜像Id> 命令,删除指定镜像docker ps 命令, 列出当前正在运⾏的容器, 结果的第⼀列是container_Id, 第2列是容器名称.docker ps -a 命令, 列出当前正在运⾏的和之前运⾏完的容器docker stop container_id/container-name 命令, 停⽌指定的容器, 该容器Id或名称可以从docker ps中获取.docker restart container_id/container-name 命令, 重新启动指定的容器, 该容器Id或名称可以从docker ps中获取.docker start container_id/container-name 命令, 启动指定的容器, 该容器Id或名称可以从docker ps中获取.docker rm container_id/container-name, 删除指定的容器docker rm $(docker ps -a -q) 命令, 删除所有运⾏结束了容器, 正在运⾏的容器不会被删除docker top container_id/container-name, 查看容器内的进程docker logs [-f] [-t] [--tail string] 容器名, 查看容器的⽇志输出, -f是打开跟踪, -t是加上时间戳, --tail 100 表⽰仅显⽰最后的100⾏⽇志docker search nginx, 在hub站点中搜索 nginx 镜像docker image inspect image_id 命令, 显⽰指定镜像的详细信息.docker container inspect container_id/container-name 命令, 显⽰指定容器的详细信息,包括容器的Ipdocker images -f dangling=true 命令, 列出没有被容器化的镜像docker rmi $(docker images -qf dangling=true) 命令, 删除那些没有被容器化的镜像docker system df 命令, 可以⼀次性查看镜像/容器/host volume的磁盘占⽤情况.docker ps -s 命令, 输出容器的空间占⽤=======================docker ⼀些管理命令集=======================除了上⾯常⽤的命令外, docker 还有⼀些管理命令集, 这些命令集还可以包含⼆级命令:config Manage Docker configscontainer Manage containersimage Manage imagesnetwork Manage networksnode Manage Swarm nodesplugin Manage pluginssecret Manage Docker secretsservice Manage servicesstack Manage Docker stacksswarm Manage Swarmsystem Manage Dockertrust Manage trust on Docker imagesvolume Manage volumes⽐较常⽤的是,docker image build, 编译 Dockfiledocker network create, 创建 docker ⽹络docker volume create, 创建数据卷=======================docker run/exec 命令=======================运⾏ hello-world 容器, 如果本地没有下载, 将会⾃动从hub站点下载.docker run hello-world 命令以守护态运⾏容器docker run -d --name mybusybox busybox /bin/sh -c "while true; do echo hello world; sleep 1; done"登陆⼀个容器, 运⾏中的容器其实是⼀个功能完备的Linux操作系统, 所以我们可以在登陆该容器执⾏常规的Linux命令.docker exec -it container_id/container-name /bin/bash使⽤ redis-cli 登陆 myredis 容器docker exec -it myredis redis-cliexec 后的 -it 参数的意思是, 以交互的⽅式并分配⼀个伪tty, 经常⼀起联⽤.=======================docker redis 使⽤=======================# 下载最新版的 redis imagedocker pull redis:latest# 简单⽅式启动 redis 服务pull run redisdocker run --name itbilu-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=my-pass -d mysql:5.7我们就创建了⼀个名为 itbilu-mysql 的MySQL数据库服务器容器实例, 在创建数据库时,通过环境变量MYSQL_ROOT_PASSWORD设置数据库的root密码,还通过5.7标签指定了所使⽤的镜像版本。

安装Docker和下载images镜像和常用Docker命令

安装Docker和下载images镜像和常用Docker命令

安装Docker和下载images镜像和常⽤Docker命令我的是centos7,也会6的⽅法:$sudo yum install docker 直接yum安装contos7使⽤centos6.5先获取epel源并启动Docker,并注册开机服务[root@iZ258c9w799Z ~]# sudo service docker startRedirecting to /bin/systemctl start docker.service[root@iZ258c9w799Z ~]# sudo chkconfig docker onNote: Forwarding request to 'systemctl enable docker.service'.Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.//查看是否启动[root@iZ258c9w799Z ~]# ps -ef|grep dockerroot 12584 1 0 11:33 ? 00:00:00 /bin/sh -c /usr/bin/docker-current daemon $OPTIONS $DOCKER_STORAGE_OPTIONS$DOCKER_NETWORK_OPTIONS $ADD_REGISTRY $BLOCK_REGISTRY $INSECURE_REGISTRY 2>&1 | /usr/bin/forward-journald -tag dockerroot 12585 12584 0 11:33 ? 00:00:00 /usr/bin/docker-current daemon --selinux-enabledroot 12586 12584 0 11:33 ? 00:00:00 /usr/bin/forward-journald -tag dockerroot 12705 12448 0 11:34 pts/0 00:00:00 grep --color=auto docker下载images镜像,现在下载基础的contos镜像:[root@iZ258c9w799Z ~]# sudo docker pull centos:7Trying to pull repository docker.io/library/centos ... 7: Pulling from library/centos1544084fad81: Pull completedf0fc3863fbc: Pull completea3d54b467fad: Pull completea65193109361: Pull completeDigest: sha256:a9237ff42b09cc6f610bab60a36df913ef326178a92f3b61631331867178f982Status: Downloaded newer image for docker.io/centos:7查看是否安装成功:[root@iZ258c9w799Z ~]# sudo docker images centosREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEdocker.io/centos 7 a65193109361 2 weeks ago 196.7 MB常⽤docker命令:1、docker -h 帮助2、获取镜像sudo docker pull NAME[:TAG]sudo docker pull centos:latest3、启动Container盒⼦sudo docker run [OPTIONS] IMAGE [COMMAND] [ARG...]sudp docker run -t -i contos /bin/bash4、查看镜像列表,列出本地的所有imagessudo docker images [OPTIONS] [NAME]sudo docker images centos5、查看容器列表,可看到我们创建过的所有containersudo docker ps [OPTIONS]sudo docker ps -a6、删除镜像,从本地删除⼀个已经下载的镜像sudo docker rmi IMAGE [IMAGE...]sudo docker rmi centos:latest7、移除⼀个或多个容器实例sudo docker rm [OPTIONS] CONTAINER [CONTAINER...]移除所有微运⾏的容器sudo docker rm sudo docker ps -aq8、停⽌⼀个正在运⾏的容器sudo docker kill [OPTIONS] CONTAINER [CONTAINNER...]sudo docker kill 026e9、重启⼀个正在运⾏的容器sudo docker restart [OPTIONS] contains[CONTAINER]sudo docker restart 026e10、停⽌⼀个已经停⽌的容器sudo docker start [OPTIONS] CONTAINER [CONTAINER..]sudo docker start 026e。

docker cp的用法

docker cp的用法

docker cp的用法Docker是当前最流行、最常用的容器化技术之一,通过Docker,可以快速、高效地打包和部署应用程序。

而在Docker中,docker cp 指令则是一个非常重要的命令。

本文将为大家详细阐述docker cp的用法。

一、什么是docker cp?在Docker中,docker cp指令可以用来将容器内的文件或文件夹复制到本地主机,或将本地主机中的文件或文件夹复制到容器内。

它可用于将数据从Docker容器复制到本地,并且支持容器和主机之间的所有拷贝。

二、docker cp的用法docker cp命令语法如下:docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|- docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH其中,CONTAINER表示要复制文件的容器,SRC_PATH表示在Docker容器中要复制的文件路径,DEST_PATH表示目标路径,可以是Docker容器中的路径,也可以是本地主机的路径。

1. 将容器内的文件复制到本地主机:要在Docker容器中将文件拷贝到本地主机上,可以使用以下docker cp命令:docker cp CONTAINERID:/Container_Path /Host_Path可以替换CONTAINERID为正在运行的Docker容器的ID,/Container_Path是容器中文件的路径,/Host_Path是本地主机中的目标路径。

例如,执行以下命令,可以将正在运行的容器nginx的默认配置文件nginx.conf复制到本地主机的/tmp目录下:docker cp nginx:/etc/nginx/nginx.conf /tmp2. 将本地主机中的文件复制到容器内:要将本地主机中的文件拷贝到Docker容器中,可以使用以下docker cp命令:docker cp /Host_Path CONTAINERID:/Container_Path其中,/Host_Path是本地主机中文件的路径,CONTAINERID是正在运行的Docker容器的ID,/Container_Path是要复制到Docker容器中的目标路径。

Mac命令行使用技巧操作和管理容器化应用

Mac命令行使用技巧操作和管理容器化应用

Mac命令行使用技巧操作和管理容器化应用在Mac操作系统中,使用命令行界面可以提供更精确和高效的操作,特别对于容器化应用的操作和管理。

本文将介绍一些Mac命令行的使用技巧,以帮助您更好地操作和管理容器化应用。

1. 安装DockerDocker是一个开源的容器化平台,它可以轻松创建、部署和运行应用程序。

在Mac上使用Docker,您首先需要安装Docker Desktop。

可以从Docker官方网站下载安装包进行安装。

安装完成后,您可以通过命令行来管理Docker,进行容器的启动、停止和管理。

2. 基本Docker命令以下是一些常用的Docker命令:- docker run:用于创建和启动一个新容器。

- docker ps:用于列出正在运行的容器。

- docker stop:用于停止一个容器。

- docker rm:用于删除一个容器。

- docker images:用于列出本地镜像。

- docker pull:用于从远程仓库中拉取一个镜像。

- docker push:用于将一个镜像推送到远程仓库。

这些命令提供了基本的容器操作和管理功能,可帮助您轻松创建、部署和管理容器化应用。

3. 使用Docker ComposeDocker Compose是一个用于定义和运行多个容器化应用的工具。

它使用一个YAML文件来配置应用的服务、网络和存储等方面的设置。

通过使用Docker Compose,您可以一次性启动或停止多个容器,并可轻松管理它们的交互。

以下是一个示例的Docker Compose文件:```version: '3'services:web:build: .ports:- "80:80"database:image: mysql:5.7environment:MYSQL_ROOT_PASSWORD: password```通过运行`docker-compose up`命令,您可以启动由此文件定义的所有服务。

Docker命令详解(build篇)

Docker命令详解(build篇)

Docker命令详解(build篇)命令格式:docker build [OPTIONS] <PATH | URL | ->Usage: Build an image from a Dockerfile.中⽂意思即:使⽤build命令,在Dockerfile的基础上构建⼀个镜像。

常⽤选项说明--build-arg,设置构建时的变量--no-cache,默认false。

设置该选项,将不使⽤Build Cache构建镜像--pull,默认false。

设置该选项,总是尝试pull镜像的最新版本--compress,默认false。

设置该选项,将使⽤gzip压缩构建的上下⽂--disable-content-trust,默认true。

设置该选项,将对镜像进⾏验证--file, -f,Dockerfile的完整路径,默认值为‘PATH/Dockerfile’--isolation,默认--isolation="default",即Linux命名空间;其他还有process或hyperv--label,为⽣成的镜像设置metadata--squash,默认false。

设置该选项,将新构建出的多个层压缩为⼀个新层,但是将⽆法在多个镜像之间共享新层;设置该选项,实际上是创建了新image,同时保留原有image。

--tag, -t,镜像的名字及tag,通常name:tag或者name格式;可以在⼀次构建中为⼀个镜像设置多个tag--network,默认default。

设置该选项,Set the networking mode for the RUN instructions during build--quiet, -q,默认false。

设置该选项,Suppress the build output and print image ID on success--force-rm,默认false。

dockerfile构建镜像常用命令

dockerfile构建镜像常用命令

dockerfile构建镜像常⽤命令⼀、什么是dockerfileDockerfile是⼀个包含⽤于组合映像的命令的⽂本⽂档。

可以使⽤在命令⾏中调⽤任何命令。

Docker通过读取Dockerfile中的指令⾃动⽣成映像。

docker build命令⽤于从Dockerfile构建映像。

可以在docker build命令中使⽤-f标志指向⽂件系统中任何位置的Dockerfile。

# 例如:docker build -f /path/to/a/DockerfileDcokerfile的基本结构Dockerfile ⼀般分为四部分:基础镜像信息、维护者信息、镜像操作指令和容器启动时执⾏指令,'#'为 Dockerfile 中的注释。

⼆、dockerfile⽂件说明Docker以从上到下的顺序运⾏Dockerfile的指令。

为了指定基本映像,第⼀条指令必须是FROM。

⼀个声明以#字符开头则被视为注释。

可以在Docker⽂件中使⽤RUN,CMD,FROM,EXPOSE,ENV等指令。

# 基础镜像:centos后可加版本:centos:7FROM centos:7#维护者信息注释(选写)MAINTAINER xx xx@# 安装基础软件:尽可能少RUN,可以使⽤&& 链接RUN rpm -ivh https:///epel/epel-release-latest-7.noarch.rpm && yum install nginx -y# add 将本地⽂件扔到容器⾥ADD index1.html /usr/share/nginx/html/index.html# 开放端⼝EXPOSE 80# ADD run.sh /run.sh# RUN chmod 755 /run.sh# 启动执⾏CMD ["nginx"]# 创建新镜像: .为Dockerfile所在⽬录,在创建镜像的⽬录执⾏下⾯命令,ADD⾥的东西也放在同⼀个⽬录docker build -t nginx:centos .# 启动镜像,去访问index.htmldocker run -d -P nginx:centos[root@ ~]# docker imagesREPOSITORY TAG IMAGE ID CREATED SIZEnginx centos 578353538643 5 minutes ago 420MB# 登录docker run -it -P nginx:centos bash[root@ ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES8de513a57286 nginx:centos "bash" 17 seconds ago Up 16 seconds 0.0.0.0:49174->80/tcp, :::49174->80/tcp, 0.0.0.0:49173->443/tcp, :::49173->443/tcp sharp_sammet 常⽤参数:FROM: 指定基础镜像,必须为第⼀个命令MAINTAINER: 维护者信息ADD#构建镜像时执⾏的命令,将本地⽂件添加到容器中,tar类型⽂件会⾃动解压(⽹络压缩资源不会被解压),可以访问⽹络资源格式:ADD <src>... <dest>COPY:功能类似ADD,但是是不会⾃动解压⽂件,也不能访问⽹络资源EXPOSE 指定容器与宿主机交互端⼝RUN# 构建镜像时执⾏的命令,重复执⾏这个dockerfile时不会再执⾏# linuxRUN shell命令# windowsRUN ["executable", "param1", "param2"]"""注1: RUN指令创建的中间镜像会被缓存,并会在下次构建中使⽤。

详解修改docker时区及docker常用命令

详解修改docker时区及docker常用命令

九、Docker-Compose常⽤命令1、命令对象与格式对于Compose来说,⼤部分命令的对象既可以是项⽬本⾝,还可以指定为项⽬中的某个容器(服务),如果没有指定容器,命令对象将是项⽬执⾏docker-compose [command] --help或者 docker-compose help [command]可以查看具体某个使⽤的命令docker-compose命令的基本格式是docker-compose -f docker-compose.yml 命令【选项】【服务id】UP格式为docker-compose up [options] [service]该命令⼗分强⼤,他将尝试⾃动完成包括构建镜像,创建服务,启动服务,并关联服务相关容器的⼀系列操作链接的服务都将被⾃动启动可以说,⼤部分都可以直击⼈通过该命令来启动⼀个项⽬默认情况,docker-compose up启动的容器都在前台,控制台将会打印所有容器的输出信息,⽅便调试⽤过Ctrl-c停⽌时,所有容器将会停⽌如果使⽤docker-compose up -d,将会在后台启动并运⾏所有容器,⼀般推荐⽣产环境使⽤如果服务已经存在,docker-compose up将会尝试停⽌容器,然后重新创建,以保证新启动的服务匹配docker-compose.yml⽂件的最新内容docker-compose up 对整个项⽬操作启动docker-compose up -d 后台启动docker-compose up 服务id 对当前docker-compose中对于的服务id操作Downdocker-compose down将关闭所有容器,停⽌up的所有容器,并移除⽹络docker-compose down 关闭所有容器docker-compose down 服务id 关闭某⼀个服务Exec进⼊某个服务的内部docker-compose exec 服务id bashpsdocker-compose ps 列出当前项⽬所有运⾏的服务restart重启项⽬docker-compose restart重启项⽬20秒之后就⾃动启动服务docker-compose restart -t 20stop停⽌某个服务docker-compose stop 【服务id】rm删除停⽌状态的整个项⽬或者某个服务docker-compose rm 【服务id】强制删除docker-compose rm -f 【服务id】顺便删除⾥⾯的数据卷(不推荐)docker-compose rm -v(删除容器挂载的数据卷)【服务id】top查看整个项⽬所有服务的进程或者某个指定服务的进程docker-compose top 【服务id】unpause恢复处于暂停状态中的服务docker-compose unpause 【服务id】pause暂停所有服务或者某⼀个服务docker-compose pause 【服务id】logs查看容器的⽇志docker-compose logs 【服务id】查看实时⽇志docker-compose logs -f【服务id】。

Docker容器的启动和停止命令详解

Docker容器的启动和停止命令详解

Docker容器的启动和停止命令详解随着云计算和容器技术的快速发展,Docker作为一种轻量级的虚拟化解决方案,在软件开发和部署中扮演着重要角色。

熟悉Docker容器的启动和停止命令是每个开发者和运维人员必备的技能。

本文将详细介绍常用的Docker容器启动和停止命令。

一、Docker容器的启动1. docker run命令docker run命令是启动Docker容器最常用的命令之一。

其基本语法为:```docker run [OPTIONS] IMAGE [COMMAND] [ARG...]```其中,OPTIONS为一系列的选项,IMAGE是要运行的镜像,COMMAND为在容器中要执行的命令。

- -d选项表示以后台(detached)方式运行容器。

- -p选项指定容器的端口映射,将容器内部端口映射到宿主机的端口上。

- --name选项指定容器的名称,方便管理和识别。

示例:```bashdocker run -d -p 8080:80 --name mycontainer nginx```上述命令将启动一个基于nginx镜像的容器,并将容器的80端口映射到宿主机的8080端口上。

容器将在后台运行,并以mycontainer作为名称。

2. docker start命令当容器已经创建但是处于停止状态时,可以使用docker start命令启动容器。

其语法为:```bashdocker start [OPTIONS] CONTAINER [CONTAINER...]```其中,CONTAINER为要启动的容器的ID或名称。

示例:```bashdocker start mycontainer```上述命令将启动名为mycontainer的容器。

二、Docker容器的停止1. docker stop命令docker stop命令用于停止正在运行的容器。

其基本语法为:```bashdocker stop [OPTIONS] CONTAINER [CONTAINER...]```其中,CONTAINER为要停止的容器的ID或名称。

九、Docker-Compose常用命令

九、Docker-Compose常用命令

九、Docker-Compose常⽤命令1、命令对象与格式对于Compose来说,⼤部分命令的对象既可以是项⽬本⾝,还可以指定为项⽬中的某个容器(服务),如果没有指定容器,命令对象将是项⽬执⾏docker-compose [command] --help或者 docker-compose help [command]可以查看具体某个使⽤的命令docker-compose命令的基本格式是docker-compose -f docker-compose.yml 命令【选项】【服务id】UP格式为docker-compose up [options] [service]该命令⼗分强⼤,他将尝试⾃动完成包括构建镜像,创建服务,启动服务,并关联服务相关容器的⼀系列操作链接的服务都将被⾃动启动可以说,⼤部分都可以直击⼈通过该命令来启动⼀个项⽬默认情况,docker-compose up启动的容器都在前台,控制台将会打印所有容器的输出信息,⽅便调试⽤过Ctrl-c停⽌时,所有容器将会停⽌如果使⽤docker-compose up -d,将会在后台启动并运⾏所有容器,⼀般推荐⽣产环境使⽤如果服务已经存在,docker-compose up将会尝试停⽌容器,然后重新创建,以保证新启动的服务匹配docker-compose.yml⽂件的最新内容docker-compose up 对整个项⽬操作启动docker-compose up -d 后台启动docker-compose up 服务id 对当前docker-compose中对于的服务id操作Downdocker-compose down将关闭所有容器,停⽌up的所有容器,并移除⽹络docker-compose down 关闭所有容器docker-compose down 服务id 关闭某⼀个服务Exec进⼊某个服务的内部docker-compose exec 服务id bashpsdocker-compose ps 列出当前项⽬所有运⾏的服务restart重启项⽬docker-compose restart重启项⽬20秒之后就⾃动启动服务docker-compose restart -t 20stop停⽌某个服务docker-compose stop 【服务id】rm删除停⽌状态的整个项⽬或者某个服务docker-compose rm 【服务id】强制删除docker-compose rm -f 【服务id】顺便删除⾥⾯的数据卷(不推荐)docker-compose rm -v(删除容器挂载的数据卷)【服务id】top查看整个项⽬所有服务的进程或者某个指定服务的进程docker-compose top 【服务id】unpause恢复处于暂停状态中的服务docker-compose unpause 【服务id】pause暂停所有服务或者某⼀个服务docker-compose pause 【服务id】logs查看容器的⽇志docker-compose logs 【服务id】查看实时⽇志docker-compose logs -f【服务id】。

docker-compose命令

docker-compose命令

docker-compose命令常⽤命令1、基础命令docker-compose 命令 --help #获得⼀个命令的帮助docker-compose version #查看docker-compose版本信息2、构建、卸载docker-compose up -d C #构建启动某个容器docker-compose down #停⽌并删除所有容器、⽹络、镜像等3、启动、停⽌、重启、删除容器docker-compose stop Cdocker-compose start Cdocker-compose restart Cdocker-compose rm C #删除容器(删除前必须关闭容器,执⾏stop)4、列出所有容器docker-compose ps5、进⼊到容器中docker-compose exec C /bin/bash #登录到容器中6、查看容器的实时⽇志docker-compose logs -f C #查看容器的实时⽇志docker-compose logs --tail10 -f C #查看容器的实时⽇志(从最后10⾏开始)7、列出所有镜像docker-compse images8、检查并查看配置信息docker-compose config #配置错误时,会输出错误信息9、查看各个容器内运⾏的进程docker-compose top10、其它docker-compose build C #构建镜像docker-compose build --no-cache C #不带缓存的构建docker-compose events --json C #以json形式输出容器的⽇志docker-compose pause C #暂停容器docker-compose unpause C #恢复容器注意:以上容器名称使⽤ C 表⽰具体⽰例1、连接docker容器zookeeperdocker-compose exec zookeeper sh登录到容器中后,查看path:zkCli.shls /config/application。

dockercompose常用命令

dockercompose常用命令

dockercompose常⽤命令⼀、docker-compose命令格式docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]选项如下:-f,–file FILE 指定Compose模板⽂件,默认为docker-compose.yml,可以多次指定。

-p,–project-name NAME指定项⽬名称,默认将使⽤所在⽬录名称作为项⽬名。

-x-network-driver 使⽤Docker的可拔插⽹络后端特性(需要Docker 1.9+版本)-x-network-driver DRIVER指定⽹络后端的驱动,默认为bridge(需要Docker 1.9+版本)-verbose 出更多调试信息-v,–version 打印版本并退出⼆、docker-compose updocker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]选项包括:-d 在后台运⾏服务容器–no-color 不使⽤颜⾊来区分不同的服务的控制输出–no-deps 不启动服务所链接的容器–force-recreate 强制重新创建容器,不能与–no-recreate同时使⽤–no-recreate 如果容器已经存在,则不重新创建,不能与–force-recreate同时使⽤–no-build 不⾃动构建缺失的服务镜像–build 在启动容器前构建服务镜像–abort-on-container-exit 停⽌所有容器,如果任何⼀个容器被停⽌,不能与-d同时使⽤-t, –timeout TIMEOUT 停⽌容器时候的超时(默认为10秒)–remove-orphans 删除服务中没有在compose⽂件中定义的容器–scale SERVICE=NUM 设置服务运⾏容器的个数,将覆盖在compose中通过scale指定的参数⽰例:#启动所有服务docker-compose up#在后台所有启动服务docker-compose up -d#-f 指定使⽤的Compose模板⽂件,默认为docker-compose.yml,可以多次指定。

docker push命令语法

docker push命令语法

docker push命令语法
docker push命令是用于将本地的Docker镜像推送(上传)到远程的Docker镜像仓库。

其基本语法如下:
docker push [OPTIONS] NAME[:TAG]
其中,`NAME`是要推送的镜像的名称,`TAG`是镜像的标签。

以下是一些常用的选项:
`-a, --all-tags`,推送具有全部标签的镜像。

`--disable-content-trust`,禁用内容信任。

`--quiet, -q`,安静模式,只显示推送的镜像ID。

例如,要将名为`myimage`的镜像推送到远程仓库,可以使用以下命令:
docker push myimage.
如果要推送带有特定标签的镜像,可以使用以下命令:
docker push myimage:tag1。

需要注意的是,要使用`docker push`命令,你必须先登录到目
标Docker镜像仓库,可以使用`docker login`命令进行登录。

另外,推送镜像时,需要确保本地镜像的标签与远程仓库中的标签匹配,
否则可能会出现推送失败的情况。

总之,`docker push`命令的语法简单明了,通过合理使用选项
和参数,可以轻松地将本地镜像推送到远程仓库。

docker命令大全

docker命令大全

# docker命令systemctl enable docker ***设置开机启动docker***systemctl disable docker ***设置开机不启动docker:***systemctl start docker ***启动docker***systemctl stop docker ***停止docker服务***systemctl restart docker ***重启docker***docker info ***显示docker的系统信息,包括镜像和容器的数量***docker version ***显示docker的版本信息。

***docker --help ***帮助命令***docker images ***查看所有本地主机上的镜像可以使用docker image ls代替*** docker search ***搜索镜像***docker pull ***下载镜像 docker image pull***docker rmi ***删除镜像 docker image rm***# 容器命令docker run ***镜像id #新建容器并启动***docker ps ***列出所有运行的容器 docker container list***docker rm ***容器id #删除指定容器***# 删除所有容器docker rm -f $(docker ps -aq) ***删除所有的容器***docker ps -a -q |xargs docker rm ***删除所有的容器***# 启动和停止容器docker start [容器id] ***启动容器***docker restart [容器id] ***重启容器***docker stop [容器id] ***停止当前正在运行的容器***docker kill [容器id] ***强制停止当前容器***# 退出容器exit ***容器直接退出***ctrl +P +Q >>>***容器不停止退出 ---注意:这个很有用的操作***<<<# 其他常用命令docker run -d [镜像名] ***后台启动命令***docker logs ***查看日志***docker top ***容器id #查看容器中进程信息ps***docker inspect ***容器id #查看镜像的元数据***docker exec ***进入当前容器后开启一个新的终端,可以在里面操作。

Docker常用命令

Docker常用命令

Docker常⽤命令搜索镜像如:user@ubuntu:~$ sudo docker search debianNAME DESCRIPTION STARS OFFICIAL AUTOMATEDdebian Debian is a Linux distribution that's comp...1519[OK]neurodebian NeuroDebian provides neuroscience research...25[OK]jesselang/debian-vagrant Stock Debian Images made Vagrant-friendly ... 8[OK]armbuild/debian ARMHF port of debian8[OK]docker hub ⼏个镜像:/phpmysql下载镜像sudo docker pull ubuntu显⽰本地镜像user@ubuntu:~$ sudo docker imagesREPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZEubuntu latest 4ef6a5ece191 3 days ago 120.1 MBreinblau/lamp latest e9df29833f32 9 days ago 703.8 MB运⾏镜像,映射端⼝开启lamp镜像,映射主机8080端⼝到容器80端⼝e9d是镜像id或镜像名user@ubuntu:~$ sudo docker run -it -p 8080:80 e9d apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.1. Set the 'ServerName' directive globally to suppress this messageuser@ubuntu:~$ sudo docker run -it -p 8080:80 e9d /bin/bashroot@ac4c74c9ac8a:/var/www/html# apache2AH00558: apache2: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message在后台运⾏,启动后容器内⾃动运⾏ /root/run.shsudo docker run -itd -p 8080:80 e9d /root/run.sh参数:加上 -i -t 可以 ctrl+p ctrl+q 退出。

docker search用法

docker search用法

docker search用法
Docker是一个开源的容器化平台,它可以帮助开发者更方便地构建、发布和管理应用程序。

Docker提供了一个广泛的应用程序镜像库,开发
者可以通过docker search命令在库中并获得感兴趣的镜像。

```
```
其中,OPTIONS可以指定一些可选参数,TERM指定了的关键词。

下面是一些常用的docker search命令参数:
- --filter="stars=某某某":按照星级评分进行筛选,只显示评分
大于等于某某某的镜像。

- --filter=“is-official=true”:只显示官方镜像。

- --filter=“is-automated=true”:只显示自动构建的镜像。

- --limit=某某某:限制返回结果的数量。

例如,要所有包含“python”关键词的镜像,可以运行:
```
```
结果会列出所有相关的镜像,包括官方镜像和第三方镜像。

如果只对官方镜像感兴趣,可以使用--filter参数进行筛选:
```
```
这样只会返回官方的“python”镜像。

如果只想要返回星级评分大于等于80的镜像,可以使用--filter参数进行筛选:
```
```
这样只会返回评分大于等于80的镜像。

总的来说,docker search命令是一个非常有用的工具,可以帮助开发者找到适合自己需求的镜像,并加速应用程序的构建和部署过程。

Docker常用命令

Docker常用命令

Docker常常常常本篇文章主要介绍Docker的常用命令的用法。

1、查看docker版本信息和系统信息1)查看docker版本信息docker version2)查看docker的系统信息docker info2、docker的镜像(image)操作相关命令1)在线查找镜像(image)docker search ImageName2)列出本地所有镜像(image)docker images [OPTIONS] [REPOSITORY[:TAG]]OPTIONS说明:-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);--digests :显示镜像的摘要信息;-f :显示满足条件的镜像;--format :指定返回值的模板文件;--no-trunc :显示完整的镜像信息;-q :只显示镜像ID。

例如查看本地镜像列表:[root@kvm2 ~]# docker images3)下载最新版镜像(image)或指定版本docker pull ImageName 或 docker pull ImageName:VersionNumber4)删除本地镜像(image), -f : 强制删除。

docker rmi ImageName或docker rmi ImageName:VersionNumber3、启动容器(container)(run:启动容器,如果本地没有要启动的镜像,会自动下载,每次新建一个容器。

start:只是单纯的启动。

不会新建容器)docker run ImageNamedocker start Name or ID1)启动容器(container),并在容器中运行"echo"命令,输出"hello world"。

docker run ImageName echo "hello world"2)交互式进入容器中:docker run -it ImageName /bin/bash3)启动容器,并在容器中安装新的程序,-y一定要加,因为在docker环境无法响应这种交互操作:docker run ImageName apt-get install -y AppName4、查看容器(container)1)列出当前正在运行的所有容器:docker ps2)列出所有容器,不管是否在运行:docker ps -a3)列出最后一次启动的容器:docker ps -l5、容器(container)常用操作命令:1)启动、停止、杀死一个容器:docker start Name/IDdocker stop Name/IDdocker kill Name/ID2)删除所有容器:docker rm `docker ps -a -q`3)删除单个容器docker rm Name/ID4)查看一个容器中的日志:docker logs Name/ID5)列出一个容器里面被改变的文件或者目录,list列表会显示出三种事件,A:增加的,D:删除的,C:被改变的 docker diff Name/ID6)显示一个运行的容器的进程信息docker top Name/ID7)从容器里面拷贝文件/目录到本地一个路径docker cp Name:/container_path to_path docker cp ID:/container_path to_path 8)当重启一个正在运行的容器时,-t:关闭容器的限时,如果超时未能关闭则用kill强制关闭,默认值10s,这个时间用于容器的自己保存状态。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Docker之常用命令
1. 查看docker信息(version、info)
1.# 查看docker版本
2.$docker version
3.
4.# 显示docker系统的信息
5.$docker info
2. 对image的操作(search、pull、images、rmi、history)
1.# 检索image
2.$docker search image_name
3.
4.# 下载image
5.$docker pull image_name
6.
7.# 列出镜像列
表; -a, --all=false Show all images; --no-trunc=false Don't truncate output;
-q, --quiet=false Only show numeric IDs
8.$docker images
9.
10.# 删除一个或者多个镜
像; -f, --force=false Force; --no-prune=false Do not delete untagged parents
11.$docker rmi image_name
12.
13.# 显示一个镜像的历
史; --no-trunc=false Don't truncate output; -q, --quiet=false Only show nume ric IDs
14.$docker history image_name
3. 启动容器(run)
docker容器可以理解为在沙盒中运行的进程。

这个沙盒包含了该进程运行所必须的资源,包括文件系统、系统类库、shell 环境等等。

但这个沙盒默认是不会运行任何程序的。

你需要在沙盒中运行一个进程来启动某一个容器。

这个进程是该容器的唯一进程,所以当该进程结束的时候,容器也会完全的停止。

1.# 在容器中运行"echo"命令,输出"hello word"
2.$docker run image_name echo "hello word"
3.
4.# 交互式进入容器中
5.$docker run -i -t image_name /bin/bash
6.
7.
8.# 在容器中安装新的程序
9.$docker run image_name apt-get install -y app_name
Note:在执行apt-get 命令的时候,要带上-y参数。

如果不指定-y参数的话,apt-get 命令会进入交互模式,需要用户输入命令来进行确认,但在docker环境中是无法响应这种交互的。

apt-get 命令执行完毕之后,容器就会停止,但对容器的改动不会丢失。

4. 查看容器(ps)
1.# 列出当前所有正在运行的container
2.$docker ps
3.# 列出所有的container
4.$docker ps -a
5.# 列出最近一次启动的container
6.$docker ps -l
5. 保存对容器的修改(commit)
当你对某一个容器做了修改之后(通过在容器中运行某一个命令),可以把对容器的修改保存下来,这样下次可以从保存后的最新状态运行该容器。

1.# 保存对容器的修改; -a, --author="" Author; -m, --message="" Commit message
2.$docker commit ID new_image_name
Note: image相当于类,container相当于实例,不过可以动态给实例安装新软件,然后把这个container用commit命令固化成一个image。

6. 对容器的操作(rm、stop、start、kill、logs、diff、top、cp、restart、attach)
1.# 删除所有容器
2.$docker rm `docker ps -a -q`
3.
4.# 删除单个容
器; -f, --force=false; -l, --link=false Remove the specified link and not th
e underlying container; -v, --volumes=false Remove the volumes associated to
the container
5.$docker rm Name/ID
6.
7.# 停止、启动、杀死一个容器
8.$docker stop Name/ID
9.$docker start Name/ID
10.$docker kill Name/ID
11.
12.# 从一个容器中取日
志; -f, --follow=false Follow log output; -t, --timestamps=false Show timest
amps
13.$docker logs Name/ID
14.
15.# 列出一个容器里面被改变的文件或者目录,list列表会显示出三种事件,A 增加的,D 删除
的,C 被改变的
16.$docker diff Name/ID
17.
18.# 显示一个运行的容器里面的进程信息
19.$docker top Name/ID
20.
21.# 从容器里面拷贝文件/目录到本地一个路径
22.$docker cp Name:/container_path to_path
23.$docker cp ID:/container_path to_path
24.
25.# 重启一个正在运行的容
器; -t, --time=10 Number of seconds to try to stop for before killing the co
ntainer, Default=10
26.$docker restart Name/ID
27.
28.# 附加到一个运行的容器上
面; --no-stdin=false Do not attach stdin; --sig-proxy=true Proxify all recei
ved signal to the process
29.$docker attach ID
Note: attach命令允许你查看或者影响一个运行的容器。

你可以在同一时间attach同一个容器。

你也可以从一个容器中脱离出来,是从CTRL-C。

7. 保存和加载镜像(save、load)
当需要把一台机器上的镜像迁移到另一台机器的时候,需要保存镜像与加载镜像。

1.# 保存镜像到一个tar包; -o, --output="" Write to an file
2.$docker save image_name -o file_path
3.# 加载一个tar包格式的镜像; -i, --input="" Read from a tar archive file
4.$docker load -i file_path
5.
6.# 机器a
7.$docker save image_name > /home/save.tar
8.# 使用scp将save.tar拷到机器b上,然后:
9.$docker load < /home/save.tar
8、登录registry server(login)
1.# 登陆
registry server; -e, --email="" Email; -p, --password="" Password; -u, --use rname="" Username
2.$docker login
9. 发布image(push)
1.# 发布docker镜像
2.$docker push new_image_name
10. 根据Dockerfile 构建出一个容器
1.#build
2. --no-cache=false Do not use cache when building the image
3. -q, --quiet=false Suppress the verbose output generated by the contain
ers
4. --rm=true Remove intermediate containers after a successful build
5. -t, --tag="" Repository name (and optionally a tag) to be applied to t
he resulting image in case of success
6.$docker build -t image_name Dockerfile_path。

相关文档
最新文档