赞
踩
启动docker : systemctl start docker
停止docker:systemctl stop docker
重启docker:systemctl restart docker
查看docker状态:systemctl status docker
开机启动:systemctl enable docker
查看docker概要信息:docker info
查看docker总体帮助文档:docker --help
查看docker命令帮助文档:docker 具体命令 --help
[root@localhost ~]# docker cp --help
Usage: docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
Copy files/folders between a container and the local filesystem
Use '-' as the source to read a tar archive from stdin
and extract it to a directory destination in a container.
Use '-' as the destination to stream a tar archive of a
container source to stdout.
Options:
-a, --archive Archive mode (copy all uid/gid information)
-L, --follow-link Always follow symbol link in SRC_PATH
列出本地主机上的镜像:docker images
OPTIONS:
[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE minio/minio latest 1370947c8f2f 2 weeks ago 363MB lhstack/small-dns latest 96cd34ad57b3 10 months ago 12.4MB agent 1.0.0 918981bf63a2 11 months ago 574MB openjdk 8 5bf086edab5e 12 months ago 526MB mongo latest 96c85f49715a 12 months ago 690MB redis latest 1ca2c2a1b554 12 months ago 117MB mariadb latest 6e0162b44a5f 14 months ago 414MB openresty/openresty 1.19.9.1-4-alpine-fat b9ec71f7ed51 18 months ago 340MB docker.elastic.co/elasticsearch/elasticsearch 7.2.0 0efa6a3de177 3 years ago 861MB mobz/elasticsearch-head 5-alpine e2a76963bc18 6 years ago 78.9MB [root@localhost ~]# docker images -a REPOSITORY TAG IMAGE ID CREATED SIZE minio/minio latest 1370947c8f2f 2 weeks ago 363MB lhstack/small-dns latest 96cd34ad57b3 10 months ago 12.4MB agent 1.0.0 918981bf63a2 11 months ago 574MB <none> <none> 3827347179f4 11 months ago 574MB <none> <none> f3502886a517 11 months ago 574MB <none> <none> 94d28d355ddc 11 months ago 574MB <none> <none> 3d9be7f6987b 11 months ago 526MB <none> <none> 141fbfacaf04 11 months ago 526MB <none> <none> d98daa7f14e1 11 months ago 526MB openjdk 8 5bf086edab5e 12 months ago 526MB mongo latest 96c85f49715a 12 months ago 690MB redis latest 1ca2c2a1b554 12 months ago 117MB mariadb latest 6e0162b44a5f 14 months ago 414MB openresty/openresty 1.19.9.1-4-alpine-fat b9ec71f7ed51 18 months ago 340MB docker.elastic.co/elasticsearch/elasticsearch 7.2.0 0efa6a3de177 3 years ago 861MB mobz/elasticsearch-head 5-alpine e2a76963bc18 6 years ago 78.9MB [root@localhost ~]# docker images -q 1370947c8f2f 96cd34ad57b3 918981bf63a2 5bf086edab5e 96c85f49715a 1ca2c2a1b554 6e0162b44a5f b9ec71f7ed51 0efa6a3de177 e2a76963bc18
同一仓库源可以有多个TAG版本,代表这个仓库源的不同版本,使用
REPOSITORY:TAG
来定义不同的镜像。如果不指定一个镜像的版本标签,例如只使用 ubuntu,docker 将默认使用ubuntu:latest
镜像
虚悬镜像dangling image:上图中仓库名、标签都是的镜像
docker search 镜像名字
:从docker hub(https://hub.docker.com)上查找对应的镜像。
[root@localhost ~]# docker search hello-world NAME DESCRIPTION STARS OFFICIAL AUTOMATED hello-world Hello World! (an example of minimal Dockeriz… 2039 [OK] kitematic/hello-world-nginx A light-weight nginx container that demonstr… 152 tutum/hello-world Image to test docker deployments. Has Apache… 90 [OK] dockercloud/hello-world Hello World! 20 [OK] crccheck/hello-world Hello World web server in under 2.5 MB 17 [OK] vad1mo/hello-world-rest A simple REST Service that echoes back all t… 7 [OK] rancher/hello-world 4 ansibleplaybookbundle/hello-world-db-apb An APB which deploys a sample Hello World! a… 2 [OK] ppc64le/hello-world Hello World! (an example of minimal Dockeriz… 2 thomaspoignant/hello-world-rest-json This project is a REST hello-world API to bu… 2 ansibleplaybookbundle/hello-world-apb An APB which deploys a sample Hello World! a… 1 [OK] businessgeeks00/hello-world-nodejs 0 okteto/hello-world 0 strimzi/hello-world-consumer 0 strimzi/hello-world-producer 0 golift/hello-world Hello World Go-App built by Go Lift Applicat… 0 koudaiii/hello-world 0 freddiedevops/hello-world-spring-boot 0 strimzi/hello-world-streams 0 garystafford/hello-world Simple hello-world Spring Boot service for t… 0 [OK] tacc/hello-world 0 tsepotesting123/hello-world 0 kevindockercompany/hello-world 0 dandando/hello-world-dotnet 0 armswdev/c-hello-world Simple hello-world C program on Alpine Linux… 0
docker search [OPTIONS] 镜像名字
:条件查找镜像
[root@localhost ~]# docker search --limit 3 hello-world
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
hello-world Hello World! (an example of minimal Dockeriz… 2039 [OK]
rancher/hello-world 4
okteto/hello-world 0
docker pull 镜像名字
:拉取最新版本(相当于docker pull 镜像名字 latest
)docker pull 镜像名字 [:tag]
:拉取指定版本[root@localhost ~]# docker pull hello-world Using default tag: latest latest: Pulling from library/hello-world 719385e32844: Pull complete Digest: sha256:fc6cf906cbfa013e80938cdf0bb199fbdbb86d6e3e013783e5a766f50f5dbce0 Status: Downloaded newer image for hello-world:latest docker.io/library/hello-world:latest [root@localhost ~]# docker pull redis:6.2.4 6.2.4: Pulling from library/redis 33847f680f63: Pull complete 26a746039521: Pull complete 18d87da94363: Pull complete 78e9d65cb9ae: Pull complete 985fcd1202ac: Pull complete ffbec49e5b6a: Pull complete Digest: sha256:6bc98f513258e0c17bd150a7a26f38a8ce3e7d584f0c451cf31df70d461a200a Status: Downloaded newer image for redis:6.2.4 docker.io/library/redis:6.2.4
查看镜像/容器/数据卷所占空间
[root@localhost ~]# docker system df
TYPE TOTAL ACTIVE SIZE RECLAIMABLE
Images 12 9 3.556GB 631.5MB (17%)
Containers 10 3 318.4kB 318.4kB (99%)
Local Volumes 19 6 1.205GB 119.9MB (9%)
Build Cache 0 0 0B 0B
docker rmi 镜像名字/ID
docker rmi -f 镜像ID
docker rmi -f 镜像名1:TAG 镜像名2:TAG
docker rmi -f $(docker images -qa)
[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE minio/minio latest 1370947c8f2f 2 weeks ago 363MB hello-world latest 9c7a54a9a43c 4 weeks ago 13.3kB lhstack/small-dns latest 96cd34ad57b3 10 months ago 12.4MB agent 1.0.0 918981bf63a2 11 months ago 574MB openjdk 8 5bf086edab5e 12 months ago 526MB mongo latest 96c85f49715a 12 months ago 690MB redis latest 1ca2c2a1b554 12 months ago 117MB mariadb latest 6e0162b44a5f 14 months ago 414MB openresty/openresty 1.19.9.1-4-alpine-fat b9ec71f7ed51 18 months ago 340MB redis 6.2.4 9dae5b22eb39 22 months ago 105MB docker.elastic.co/elasticsearch/elasticsearch 7.2.0 0efa6a3de177 3 years ago 861MB mobz/elasticsearch-head 5-alpine e2a76963bc18 6 years ago 78.9MB [root@localhost ~]# docker rmi 9dae5b22eb39 Untagged: redis:6.2.4 Untagged: redis@sha256:6bc98f513258e0c17bd150a7a26f38a8ce3e7d584f0c451cf31df70d461a200a Deleted: sha256:9dae5b22eb39cce1b58967d6425a2617b51338a2fdab3a05a66d2fa12f11f094 Deleted: sha256:38887028d023f832c8af04be98c6794e22f6ccf77f523d364fe37888970f56db Deleted: sha256:8d159ba2313ce920e80fbc1cc5f5c3c5e99d36f601531720f2ccbb966b79376c Deleted: sha256:64cee1d06a6acc67a7125d52976f840b0aa9e52719d1dbf631420f32482d4ccd Deleted: sha256:188c498579cef37b65a93d6448c6b129fa07d5740fc213a18843ff22d80cd10d Deleted: sha256:2117165cd53c98f13ec7af36c9d8acd239fc541c847efaccb49885decf615d68 Deleted: sha256:814bff7343242acfd20a2c841e041dd57c50f0cf844d4abd2329f78b992197f4
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
-p hostPort:containerPort:端口映射 -p 8080:80
-p ip:hostPort:containerPort:配置监听地址 -p 10.0.0.0:8080:80
-p ip::containerPort:随机分配端口 -p 10.0.0.0::80
-p hostPort:containerPort:udp:指定协议 -p 8080:80:tcp
-p 80:80 -p 443:443:指定多个
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker run -it centos bash
[root@83c857543d80 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 13:19 pts/0 00:00:00 bash
root 16 1 0 13:20 pts/0 00:00:00 ps -ef
[root@83c857543d80 /]# ls -lf
home media etc sbin mnt . bin tmp lib dev opt root run proc sys usr srv .. lib64 var lost+found .dockerenv
[root@83c857543d80 /]# exit
exit
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker run --name=mycentos centos
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4e548998672e centos "/bin/bash" 5 seconds ago Exited (0) 3 seconds ago mycentos
83c857543d80 centos "bash" 10 minutes ago Exited (0) 7 minutes ago naughty_lehmann
7355d7e19de5 centos "bash" 10 minutes ago Exited (0) 10 minutes ago heuristic_edison
docker ps [OPTIONS]
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4e548998672e centos "/bin/bash" 5 seconds ago Exited (0) 3 seconds ago mycentos 83c857543d80 centos "bash" 10 minutes ago Exited (0) 7 minutes ago naughty_lehmann 7355d7e19de5 centos "bash" 10 minutes ago Exited (0) 10 minutes ago heuristic_edison e7e2b18fadf0 apacherocketmq/rocketmq-dashboard:latest "sh -c 'java $JAVA_O…" 7 weeks ago Exited (255) 4 days ago 0.0.0.0:8080->8080/tcp, :::8080->8080/tcp rocketmq-dashboard e13b2badcf88 xuxueli/xxl-job-admin:2.3.1 "sh -c 'java -jar $J…" 2 months ago Up 13 hours 0.0.0.0:8787->8081/tcp, :::8787->8081/tcp xxl-job da73c24a7fda nginx "/docker-entrypoint.…" 2 months ago Exited (0) 2 months ago nginx 06d84894f6ca centos:latest "/bin/bash" 2 months ago Up 12 hours elated_matsumoto 5c2845b99941 docker.elastic.co/elasticsearch/elasticsearch:7.1.0 "/usr/local/bin/dock…" 4 months ago Exited (255) 2 months ago 0.0.0.0:9200->9200/tcp, :::9200->9200/tcp, 9300/tcp es7_01 a14873b0bdec docker.elastic.co/kibana/kibana:7.1.0 "/usr/local/bin/kiba…" 4 months ago Exited (255) 2 months ago 0.0.0.0:5601->5601/tcp, :::5601->5601/tcp kibana7 c089a67feb25 docker.elastic.co/elasticsearch/elasticsearch:7.1.0 "/usr/local/bin/dock…" 4 months ago Exited (137) 4 months ago es7_02 5047a993af2a lmenezes/cerebro:0.8.3 "/opt/cerebro/bin/ce…" 4 months ago Exited (255) 2 months ago 0.0.0.0:9000->9000/tcp, :::9000->9000/tcp cerebro 0f12d73328e5 hello-world "/hello" 4 months ago Exited (0) 4 months ago tender_jackson 4716629faa58 bitnami/kafka "/opt/bitnami/script…" 4 months ago Exited (255) 4 months ago 9092/tcp sad_booth 21a958642038 zookeeper "/docker-entrypoint.…" 4 months ago Exited (255) 4 months ago 2181/tcp, 2888/tcp, 3888/tcp, 8080/tcp elegant_antonelli hongcaixia@hongcaixiadeMacBook-Pro ~ % docker ps -q e13b2badcf88 06d84894f6ca hongcaixia@hongcaixiadeMacBook-Pro ~ % docker ps -n 1 CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 4e548998672e centos "/bin/bash" 4 minutes ago Exited (0) 4 minutes ago mycentos hongcaixia@hongcaixiadeMacBook-Pro ~ %
docker start 容器ID/容器名
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker ps -n2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4e548998672e centos "/bin/bash" 11 minutes ago Exited (0) 11 minutes ago mycentos
83c857543d80 centos "bash" 22 minutes ago Exited (0) 19 minutes ago naughty_lehmann
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker start 4e548998672e
4e548998672e
hongcaixia@hongcaixiadeMacBook-Pro ~ %
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
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker ps -n2
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4e548998672e centos "/bin/bash" 13 minutes ago Exited (0) 2 seconds ago mycentos
83c857543d80 centos "bash" 23 minutes ago Exited (0) 20 minutes ago naughty_lehmann
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker rm 4e548998672e
4e548998672e
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e13b2badcf88 xuxueli/xxl-job-admin:2.3.1 "sh -c 'java -jar $J…" 2 months ago Up 13 hours 0.0.0.0:8787->8081/tcp, :::8787->8081/tcp xxl-job
06d84894f6ca centos:latest "/bin/bash" 2 months ago Up 13 hours elated_matsumoto
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker rm e13b2badcf88
Error response from daemon: You cannot remove a running container e13b2badcf884fc97d7ccfe85a066c7b61ae8642715ce08a64f9c00f64c7e955. Stop the container before attempting removal or force remove
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker rm -f e13b2badcf88
e13b2badcf88
run命令执行过程:
1.Docker在本地寻找镜像
2.本机存在镜像,以该镜像为模板生产容器实例运行
3.本机不存在镜像,去docker hub上查找镜像
4.docker hub找不到,返回错误,查不到该镜像
5.docker hub找到,下载该镜像到本地,以该镜像为模板生产容器实例运行
Docker容器后台运行,就必须有一个前台进程。容器运行的命令如果不是那些一直挂起的命令(比如运行top,tail),就是会自动退出的。
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker run --name=mycentos centos
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
docker 的服务是在后台运行的, 可以过 -d 指定容器的后台运行模式。
docker run -d 容器名
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker run -d redis
417d29580fad28a8c64b16d52b86c50249f90645a9df68d86db3cee0645b6467
hongcaixia@hongcaixiadeMacBook-Pro ~ % docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
417d29580fad redis "docker-entrypoint.s…" 3 seconds ago Up 2 seconds 6379/tcp hopeful_pascal
hongcaixia@hongcaixiadeMacBook-Pro ~ %
重新进入已经退出了交互界面的正在运行的容器的交互界面:
docker exec -it 容器ID /bin/bash
:在容器中打开新的终端,可以启动新的进程;用exit退出,不会导致容器的停止。(推荐)docker attach 容器ID
:直接进入容器启动命令的终端,不会启动新的进程;用exit退出,会导致容器的停止。docker logs 容器ID
docker top 容器ID
root@hmd-jenkins:~# docker top a3d02a8c6f13
UID PID PPID C STIME TTY TIME CMD
root 751240 751218 0 13:33 ? 00:00:01 tini java -javaagent:./jacocoagent.jar=includes=com.*,output=tcpserver,port=17297,address=0.0.0.0,append=true -jar api.jar --spring.profiles.active=dev
root 751269 751240 1 13:33 ? 00:06:26 java -javaagent:./jacocoagent.jar=includes=com.*,output=tcpserver,port=17297,address=0.0.0.0,append=true -jar api.jar --spring.profiles.active=dev
root@hmd-jenkins:~#
docker inspect 容器ID
docker cp 容器ID:容器内路径 目的主机路径
export: 导出容器的内容留作为一个tar归档文件,对应import命令
import: 从tar包中的内容创建一个新的文件系统再导入为镜像,对应export
把镜像导出成文件:docker export 容器ID > 文件名.tar
把文件导入到容器中:cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。