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 机器上放一个这个脚本,方便进入容器查看内容.

Docker 镜像管理及基础命令(二)的更多相关文章

  1. Docker镜像管理基础篇

    Docker镜像管理基础篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Docker Images Docker镜像还有启动容器所需要的文件系统及其内容,因此,其用于创建并启 ...

  2. 2、docker镜像管理

    Docker镜像管理 镜像是Docker容器的基础,想运行一个Docker容器就需要有镜像.我们上面已经学会了使用search搜索镜像.那么这个镜像是怎么创建的呢? 创建镜像 镜像的创建有以下几种方法 ...

  3. Docker容器化【Docker镜像与容器相关命令】

    # Docker 学习目标: 掌握Docker基础知识,能够理解Docker镜像与容器的概念 完成Docker安装与启动 掌握Docker镜像与容器相关命令 掌握Tomcat Nginx 等软件的常用 ...

  4. Docker学习第一天(Docker入门&&Docker镜像管理)

    简介 今天小区的超市买零食老板给我说再过几天可能就卖完了我有点诧异,老板又说厂家不生产了emmm 今天总算开始docker了! 1.Docker? 1.什么是Docker Docker 是一个开源的应 ...

  5. Devops(四):Docker 镜像管理

    参考 <Docker中上传镜像到docker hub中> <Docker 镜像管理> <通过容器提交镜像(docker commit)以及推送镜像(docker push ...

  6. 三、docker镜像管理

    一.docker镜像管理 1.1.镜像搜索-search 从docker镜像仓库模糊搜索镜像 用法: docker search 镜像关键字 [root@zutuanxue ~]# docker se ...

  7. 运维 04 Shell基础命令(二)

    Shell基础命令(二)   查看Linux的发行版 cat /etc/redhat-release cat /etc/os-release 查看系统用户的id信息 id 用户名 id root id ...

  8. Docker镜像管理基础与基于容器的镜像制作示例

    一.Docker镜像 Docker镜像是启动Docker容器的一个非常重要的组件.Docker各组件之间的关系如图: Docker镜像含有启动容器所需要的文件系统及其内容,因此Docker镜像用于创建 ...

  9. docker镜像管理(二)

    docker镜像 docker镜像含有启动容器所需要的文件系统和内容,因此,其用于创建并启动docker容器 docker镜像采用分层构建机制,最底层为bootfs,其之为rootfs bootfs: ...

随机推荐

  1. AcWing 276. I-区域

    题目链接 设 \(0\) 为单调伸长, \(1\) 为单调伸短. 设 \(f[i][j][l][r][x(0 / 1)][y (0 / 1)]\) 为第 \(i\) 行,已经选出\(j\)个格子,第\ ...

  2. 操作系统精髓与设计原理(九)——I/O管理和磁盘调度

    文章目录 I/O设备 I/O功能组织 直接存储器访问 操作系统设计问题 设计目标 IO功能的逻辑结构 I/O缓冲 单缓冲 双缓冲 循环缓冲 缓冲的作用 磁盘调度 磁盘性能参数 磁盘调度策略 先进先出 ...

  3. 阿里云服务器搭建java环境(jdk+tomcat+oracle11g)

    一.JDK配置 1.在centos 7的更新源中有JDK,使用yum即可下载安装 查看库中版本 [root@localhost ~]# yum search java|grep jdk 选择需要版本进 ...

  4. Editor.md解决跨域上传的问题

    Editor.md解决跨域上传的问题 编辑 editormd\plugins\image-dialog\image-dialog.js 替换以下代码片段 if (settings.crossDomai ...

  5. 数据结构与算法——循环链表的算法实现(Joseph 问题)

    Joseph 问题: 如果有10 个人,按编号顺序1,2,...,10 顺时针方向围成一圈.从1 号开始顺时针方向1,2,...,9 报数,凡报数9 者出列(显然,第一个出圈为编号9 者). 最后一个 ...

  6. STL——容器(Set & multiset) insert 的返回值 和 pair 的用法

    1. 使用 insert 插入时的返回值: 将一个元素插入 (insert) 到 set 或 multiset 中时,如果插入失败返回的类型是一个 pair 的自定类型,insert 源码如下: in ...

  7. 云原生网络代理(MOSN)的进化之路

    本文系云原生应用最佳实践杭州站活动演讲稿整理.杭州站活动邀请了 Apache APISIX 项目 VP 温铭.又拍云平台开发部高级工程师莫红波.蚂蚁金服技术专家王发康.有赞中间件开发工程师张超,分享云 ...

  8. Linux后台命令导入MySQL语句

    1.首先输入命令: mysql -u root -p 然后输入MySQL的密码会进入到MySQL的命令界面. 2.输入命令use+数据库名字: use databaseName 3.最后输入命令sou ...

  9. 容器编排系统之ReplicaSet和Deployment控制器

    前文我们了解了k8s上的Pod资源的生命周期.健康状态和就绪状态探测以及资源限制相关话题,回顾请参考https://www.cnblogs.com/qiuhom-1874/p/14143610.htm ...

  10. css 05-CSS样式表的继承性和层叠性

    05-CSS样式表的继承性和层叠性 #本文重点 CSS的继承性 CSS的层叠性 计算权重 权重问题大总结 CSS样式表的冲突的总结 权重问题深入 同一个标签,携带了多个类名 !important标记 ...