Docker 镜像管理及基础命令(二)
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Docker 镜像管理及基础命令(二),小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2926字,纯文字阅读大概需要5分钟。
内容图文
![Docker 镜像管理及基础命令(二)](/upload/InfoBanner/zyjiaocheng/1320/009ed990c6064b80a1f0190e44ee7842.jpg)
Docker 常用命令:
## Docker 登录下载镜像:
docker login # 登录官方hub.docker.com
docker pull nginx:alpine # 下载nginx的alpine版本
docker push # 推送镜像
## Docker 查找镜像:
docker search nginx # 查找nginx 的镜像
docker images nginx:latest # 查找镜像: latest 为标签
docker rmi 镜像ID/Nginx:latest # 删除镜像
## Dcoker 启动容器(后面详细讲这部分):
docker run -d -ti nginx # 启动一个没有端口映射的容器
docker ps -a # 查看正在运行的容器
docker rm 容器ID # 删除一个容器
docker rm -fv 容器ID / nginx # 强制删除一个正在运行的容器
## Docker images 导出:
docker save centos > centos.tar.gz # 第一种导出镜像
docker save centos -o /opt/centos.tar.gz # 第二种导出镜像
## Docker images 导入:
docker load -i /opt/centos.tar.gz # 导入镜像
Docker 容器常用命令:
CTRL + p + q ## 退出不注销容器
docker ps ## 显示正在运行的容器
docker ps -a ## 显示正在运行的容器
docker rm -f $(docker ps -a -q) ## 批量删除所有容器 慎重!!!
docker rm -f `docker ps -aq -f status=exited` ## 批量删除已退出容器
docker ps -q -f status=exited ##
docker run -d - ti centos ## 运行一个容器
## 指定端口映射:
1 ) 本地端口81 映射到容器80 端口:
docker run -d -p 81:80 --name nginx-test-port1 nginx:latest
[root@node-2 ~]# docker run -d -p 81:80 --name nginx-test-port1 nginx:latest
674d119d56a4bdacf7a5c8f200fd3b11f6b0b35112e91b2c035a651c01e6423c
[root@node-2 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
674d119d56a4 nginx:latest "/docker-entrypoint.…" 3 seconds ago Up 2 seconds 0.0.0.0:81->80/tcp nginx-test-port1
2 ) 指定IP地址 和端口映射:
docker run -d -ti -p 10.10.5.136:8001:80 nginx
3 ) 指定端口映射和命名容器:
docker run -d -ti --name=linux36-c1 -p 8002:80 nginx
## Docker 日志查看:
docker logs nginx-test-port3 # 一次查看日志
docker logs -f nginx-test-port3 # 持续查看日志
## Docker 查看已经映射的端口:
docker port 容器ID # 查看docker 映射的端口
## Docker 自定义容器名称:
docker run -d -ti --name linux36-c1 -p 80:80 -p 443:443 nginx
## Docker 停止容器:
docker stop 容器ID
## Docker 启动容器:
docker start 容器ID
## Docker 停止所有容器:
docker stop `docker ps -q`
## Docker 启动所有容器:
docker start `docker ps -a -q`
Docker 进入正在运行的容器:
## 使用attach 进入正在运行的容器(exit退出后 容器关闭 不推荐使用):
docker attch 容器ID
## 使用exec 进入正在运行的容器(推荐使用)
docker exec -it 容器ID /bin/bash
#docker exec -ti f1ce /bin/bash
#exit 退出后 docker ps -a 容器并没有退出.
## 使用nsenter 命令:
推荐使用此方式,nsenter 命令需要通过PID 进入到容器内部,不过可以使用docker inspect 获取到容器的ID
[root@node-2 ~]# yum install util-linux -y # 安装nsenter 工具
docker inspect b3c4e1812182
docker inspect -f "{{.NetworkSettings.Networks.bridge.IPAddress}}" b3c4e1812182 # 获取容器的IP地址
## 取得容器的pid进程:
[root@node-2 ~]# docker inspect -f "{{.State.Pid}}" b3c4e1812182 # 获取容器的Pid.
41362
[root@node-2 ~]# nsenter -t 41362 -m -u -i -n -p # 通过nsenter 连接到容器. 41362为上一步得到的B3C4E1812182的Pid
root@b3c4e1812182:/#
Docker 脚本方式进入容器:
## 创建docker_in.sh 脚本,内容如下:
#!/bin/bash
docker_in(){
NAME_ID=$1
PID=$(docker inspect -f "{{.State.Pid}}" $NAME_ID)
nsenter -t $PID -m -n -i -u -p
}
docker_in $1
## 测试脚本是否可以进入指定容器内部
[root@node-2 ~]# chmod 755 docker_in.sh
[root@node-2 ~]# ./docker_in.sh b3c4e1812182
root@b3c4e1812182:/#
*** 可以在所有的K8S 或者 docker 机器上放一个这个脚本,方便进入容器查看内容.
原文:https://www.cnblogs.com/zhenxing06/p/13398623.html
内容总结
以上是互联网集市为您收集整理的Docker 镜像管理及基础命令(二)全部内容,希望文章能够帮你解决Docker 镜像管理及基础命令(二)所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。