首页 > 技术文章 > Docker命令

jokeryy 2021-09-27 15:37 原文

本文参考:https://www.cnblogs.com/poloyy/category/1870863.html

Dokcer命令

docker run    创建一个新容器并运行

例:docker run -d --name tomcat8 -p 9999:8080 tomcat    后台运行一个容器并将主机9999端口映射到容器8080端口,使得主机IP+9999即可访问服务

-i:以交互模式运行容器,通常与 -t 同时使用

-t:启动容器后,为容器分配一个命令行,通常与 -i 同时使用

-v:目录映射,容器目录挂载到宿主机目录,格式: <host目录>:<容器目录>

-d:守护进程,后台运行该容器

-p:指定端口映射,格式:主机(宿主)端口:容器端口

-P:随机端口映射,容器内部端口随机映射到主机的端口

-u:以什么用户身份创建容器--name "nginx-lb"容器名字

-m, --memory bytes:设置容器使用内存最大值

-h, --hostname string:指定容器的 host name

--dns 8.8.8.8:指定容器 dns 服务器

-e username="ritchie":设置环境变量

--restart:Docker 重启后,容器是否自动重启

--privileged:容器内是否使用真正的 root 权限

 

docker images    列出本地镜像

 

docker start/stop/restart/kill/pause/unpause + 容器名|容器ID    启动/停止/重启/杀死/暂停/恢复容器进程 

 

docker ps 列出容器(显示已启动的容器)

docker ps -a 列出所有容器  docker ps -q 仅列出容器ID(已启动) docker ps -aq 列出所有容器ID

容器状态:created 已创建    restarting 重启中    running 运行中    pause 暂停中    exited 停止运行

 

docker rm + 容器名|容器ID    删除容器

docker rm -f    强制删除

docker rm $(docker ps -a)    删除所有已停止的容器

 

docker exec    在正在运行的容器中运行命令

例:docker exec -it tomcat7 bash    进入容器tomcat7 CLI模式(命令行界面)

例:docker exec -it -uroot tomcat7 bash    以root身份进入容器tomcat7命令行界面

 

docker search    从Docker Hub上查找镜像

例:docker search --filter=stars=3 tomcat   查找星数>3的tomcat镜像

 

docker pull    从Docker Hub上拉取镜像

例:docker pull tomcat:8   默认拉取latest最新镜像

 

docker version    显示Docker版本信息

docker info    显示Docker系统信息,包括镜像、容器数

 

docker create    创建一个新容器但不启动它

例:docker create --name=tomcat1 tomcat  从镜像tomcat创建一个名为tomcat1的容器

例:docker create --name=tomcat2 tomcat:8  从镜像tomcat:8创建一个名为tomcat2的容器

 

docker logs    提取容器日志

例:docker logs -t -f tomcat7    加时间戳,实时刷新日志

 

docker cp   在容器与主机间复制文件或文件夹

例:docker cp tomcat7:usr/local/tomcat/README.md test/    将容器tomcat7路径为usr/local/tomcat/下的READEME.md文件复制到主机路径test/下

 

docker rmi    删除镜像  - ->  删除镜像前先删除以此为基础的容器

例:docker rmi -f tomcat mysql    强制删除多个镜像

 

docker commit    从容器创建一个新的镜像

例:docker commit -a jokeryy -m "test docker" jenkins jokeryy/jenkins:V1    从容器jenkins中创建一个新镜像jokeryy/jenkins:V1

-a    提交镜像的作者    -q    提交时的说明文字    -p    commit时将容器暂停

 

docker diff + 容器名|容器ID    检查容器文件系统上文件/目录修改情况

A :添加了文件/目录    C:修改    D:删除

 

docker login/logout    Docker Hub 登入/登出

 

docker tag    给本地镜像打个标记

例:docker tag tomcat/8:latest jokeryy/tomcat:V1    将镜像tomcat/8:latest添加标记产生新的镜像jokeryy/tomcat:V1

由此产生的新镜像会与原镜像的IMAGE ID相同

 

docker push    将本地镜像推送到镜像仓库

例:docker push jokeryy/tomcat:V1    将镜像 jokeryy/tomcat:V1 推送到镜像仓库(注意:镜像jokeryy/tomcat:V1中“jockeryy”需要与Docker Hub用户ID一致)

 

docker port + 容器名    列出容器的映射端口

 

docker top + 容器名    显示容器正在进行的进程

 

docker export    将容器的文件系统导出为tar文件

-o    将书写内容写到文件(导出的文件名)

例:docker export -o test.tar jenkins    生成文件test.tar

 

docker import    从tar文件中创建镜像(注意是镜像)

例:docker import test.tar jockeryy/jnekins    生成jockeryy/jnekins镜像

 

docker inspect 获取容器/镜像的元数据

例:docker inspect tomcat8 | grep IPAddress    获取容器IP

例:docker inspect tomcat8 | grep MacAddress    获取容器MAC地址

例:docker inspect tomcat8 | grep Image    获取容器镜像名

例:docker inspect tomcat8    获取tomcat8元数据

 

docker attach    进入容器终端(不能在里边操作)

推荐阅读