更多干系内容可检察
Docker命令千千万,但本篇足以应对日常工作及口试需求并会不断补充,每一个命令都会介绍具体,尽可能保证每一个读完文章的小伙伴都能理解与应用
个人理解:Docker中的镜像可以理解为你要运行某应用大概某体系所需要的环境,容器可以理解为虚拟机
Docker 基础命令
检察docker 运行状态
运行中:
关闭docker
启动docker
重启docker
docker设置随服务启动而自启动
检察docker 版本号信息
docker 资助命令
例如:对镜像的命令忘记
docker 镜像命令
检察自己服务器中docker 镜像列表
搜索镜像
这个命令用来在Docker Hub上搜索名为mysql的镜像,mysql和mariadb是官方镜像(标记为[OK]),星级(STARS)表现了镜像的受欢迎水平,星级越高,表现这个镜像被更多的人使用和推荐。
- docker search --filter=STARS=9000 mysql
复制代码 搜索 STARS >9000的 mysql 镜像
拉取镜像
不加tag(版本号) 即拉取docker堆栈中 该镜像的最新版本latest 加:tag 则是拉取指定版本
- docker pull 镜像名
- docker pull 镜像名:tag
复制代码 拉取一个tomcat玩一下
运行镜像
- docker run 镜像名
- docker run 镜像名:Tag
复制代码 运行一下刚才拉取的tomcat吧
运行后 出现tomcat 默认占用的8080 端口 说明该镜像已经是启动了
保存镜像
将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上 加载这个镜像
- docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字
- docker save tomcat -o /myimg.tar
复制代码
删除镜像
- #删除一个docker rmi -f 镜像名/镜像ID#删除多个 其镜像ID或镜像用用空格隔开即可 docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID#删除全部镜像 -a 意思为表现全部, -q 意思为只表现IDdocker rmi -f $(docker images
- -aq)
复制代码 强制删除镜像
- docker image rm 镜像名称/镜像ID
复制代码 删除我们刚才拉取的tomcat
加载镜像
任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像
加载我们保存在根目录下的tomcat
镜像标签
在工作中有开发环境、测试环境、生产环境以及版本迭代,就可以使用标签来进行区分
- docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]
- docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG
- # 如果省略TAG 则会为镜像默认打上latest TAG
- docker tag aaa bbb
- # 上方操作等于 docker tag aaa:latest bbb:test
复制代码 给tomcat打上dev(开发环境)的标签
- docker tag tomcat tomcat:dev
复制代码
Docker 容器命令
检察正在运行容器列表
检察所有容器
包罗正在运行 和已制止的
运行一个容器
- # -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行) --name 给要运行的容器 起的名字 /bin/bash 交互路径
- docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash
复制代码 例如我们要启动一个redis 把它的别名取为redisText 并交互式运行
- #1. 拉取redis 镜像
- docker pull redis
- #2.命令启动
- docker run -it -d --name redisText redis /bin/bash
复制代码
外部访问测试
这个命令是示体系中所有正在监听的 TCP 和 UDP 连接,以及这些连接关联的历程
会发现没有6379的历程
缘故原由是:占用的6379端口 仅仅是在容器中内部本身的端口,与宿主机的6379端口并无联系,我们通过宿主机Ip:6379访问此redis示例是访问不到的
容器端口映射
1.起首制止容器
- # 先停止咱之前运行的 redis 容器
- docker stop 容器名/容器ID
复制代码
2.删除容器
- # 先删除咱之前创建的 redis 容器
- docker rm 容器名/容器ID
复制代码
3.端口映射
- -p 宿主机端口:容器端口
- docker run -itd --name redisText -p 8888:6379 redis /bin/bash
复制代码
-p 8888:6379 解析 将容器内部的 6379端口与docker 宿主机(docker装在哪台服务器 哪台服务器就是宿主机)8888 端口进行映射 那通过外部访问宿主机8888端口 即可访问到 docker 容器 6379 端口了
进入容器
- docker exec -it 容器名/容器ID /bin/bash
- #进入 前面的 redisText 容器
- docker exec -it redisText /bin/bash
复制代码
退出容器
- #-----直接退出 未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭
- exit
复制代码- # 优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭
- Ctrl + p + q
复制代码 制止容器
重启容器
启动容器
kill 容器
容器文件拷贝
无论容器是否开启 都可以进行拷贝
- #docker cp 容器ID/名称:文件路径 要拷贝到外部的路径 | 要拷贝到外部的路径 容器ID/名称:文件路径
- #从容器内 拷出
- docker cp 容器ID/名称: 容器内路径 容器外路径
- #从外部 拷贝文件到容器内
- docker cp 容器外路径 容器ID/名称: 容器内路径
复制代码 检察容器日志
- docker logs -f --tail=要查看末尾多少行 默认all 容器ID
复制代码
容器自启动
启动容器时,使用docker run命令时 添加参数–restart=always 便表现,该容器随docker服务启动而自动启动
- docker run -itd --name redis002 -p 8888:6379 --restart=always redis /bin/bash
复制代码 在已有的容器怎么设置自启动
- docker update --restart=always 容器Id 或者 容器名
- 或
- docker container update --restart=always 容器Id 或者 容器名
复制代码
更换容器名
- docker rename 容器ID/容器名 新容器名
复制代码
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。 |