Docker命令
本文参考: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 进入容器终端(不能在里边操作)