当前位置: 首页 > news >正文

Docker 操作记录

Docker 容器信息

docker info 查看信息

docker 更改镜像目录 方式:
1、配置文件修改

# cat /etc/sysconfig/docker |grep -v ^# |grep -v ^$
other_args="--graph=/data/docker"
DOCKER_CERT_PATH=/etc/docker
DOCKER_NOWARN_KERNEL_VERSION=1

建立 lvm 逻辑分区 便于扩展

# lvcreate -L 2T lv_docker vg_home
# mkfs.ext4 /dev/vg_home/lv__docker
# mkdir /mnt/docker
# mount /dev/vg_home/lv_docker /mnt/docker/
# service docker stop 
# cp -r /var/lib/docker/* /mtn/docker
# mount /dev/vg_home/lv_docker /var/lib/docker 
# cat /etc/fstab
--- 
/dev/vg_home/lv_docker /var/lib/docker ext4 defaults 0 0

Docker 启动:

# /etc/init.d/docker start

Docker 镜像

# docker images 
# docker ps -a  执行记录 所有容器状态

docker ps -a 查看所有容器 的状态;
查看终止 的容器 ID 信息。
docker ps -a -q

 删除 镜像 容器

删除镜像 IMAGE ID
docker rmi 787a2e217a1e
rm 删除容器 rmi 删除镜像

软链接 可能会影响性能

# cp -rf docker docker.bak
# cp -rf docker /<my_new_location>/
# ln -s /<my_new_location>/docker docker

2、启动指定路径 

service docker start
docker images 查看镜像列表;
docker ps 状态
docker run - 运行一个容器
-t - 分配一个(伪)tty (link is external)
-i - 交互模式 (so we can interact with it)
ubuntu:14.04 - 使用 ubuntu 基础镜像 14.04
/bin/bash - 运行命令 bash shell

docker ps :列出当前所有正在运行的container
docker ps -l :列出最近一次启动的container
docker ps -a :列出所有的container(包含历史,即运行过的container)
docker ps -q :列出最近一次运行的container ID

Docker 端口映射:

# docker run -d P sevrer
# docker run -d p port:port server

-d 后台运行;
-P -p 标识来指定容器端口绑定到主机端口。 两种方式的区别是:
-P : 是容器内部端口随机映射到主机的高端口。 -p : 是容器内部端口绑定到指定的主机端口。

默认都是绑定 tcp 端口,如果要绑定 UDP 端口,可以在端口后面加上 /udp

端口绑定检查: [ name ]
docker port website

容器两种方式进行启动

一种是基于创建一个容器并启动
docker create 
docker start 
另外一种是状态下的启动
docker start

启动 容器报错问题;结束容器进程,清除网络映射。重启网卡 再起docker 启容器。

pkill docker
# 关闭进程 iptables
-t nat -F
# 清除 nat 规则 ifconfig docker0 down
# 关闭网卡 brctl delbr docker0
# 删除 虚拟网桥
# 最后重启docker后解决

查看WEB 应用程序日志

docker logs [ID或者name] 可以查看容器内部的标准输出。
docker logs name

查看容器进程:

docker top webstie

docker inspect 查看Docker 的底层信息;

docker inspect website 

使用 docker inspect 来查看Docker的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息。

Docker 批量操作

docker中 启动所有的容器命令
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker中 关闭所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker中 删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)

docker中 删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)

获取新镜像 pull

docker pull ubuntu:14.04

使用centos镜像进入一个容器
# docker run -t -i centos
// 但是多个窗口的时候会显示同步,

进入容器有多种方式:

docker attach Docker 自带命令;

docker attack "docker_name"

exec 命令 ID 或者 name 
docker exec -ti 2a11727d5c2d /bin/bash

nsenter 工具

安装报错 ;

docker安装提示需要升级 selinux-policy 等安装包?
centos 7 更换源;
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

目录挂载:

Docker 的 bug 
解决方式是先找出没有 umount 的路径
cat /proc/mounts | grep "mapper/docker" | awk '{print $2}'

更改运行容器的名称;

docker ps 查看运行的容器;
docker rename pensive_feynman web_tes

docker rm 可以删除容器 ;但是删除之前必须是 stop 状态;

docker rm ubuntu:14.04
docker rm centos:6.7

启动运行 nginx 容器示例:

docker run -d nginx 后台运行 ;

docker exec :在运行的容器中执行命令
-d :分离模式: 在后台运行 -i :即使没有附加也保持STDIN 打开 -t :分配一个伪终端
docker exec
-it mynginx /bin/sh

docker commit 编辑镜像

从容器创建一个新的镜像;
docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

docker commit -a "name" -m "my-tomcat" website my-tomcat:v2

-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停;

容器上传下载 拷贝文件 [ cp ]

上传测试文件:
docker cp start-kube.sh website:/root/

下载文件 docker cp
docker cp website:/test.html /root/

进入容器:
docker exec -it website /bin/bash

查看文件:

diff 查看容器的目录结构;

docker diff ID/NAME

# docker diff webstie

docker 操作记录:

下载一个 镜像
docker pull images

运行一个容器
docker run -d -p 0.0.0.0:18080:8080 images
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上
-p:指定端口
--name name12
docker run -d -p 0.0.0.0:18080:8080 --name rancher12 rancher/server

docker Port ID 查看端口;
docker logs -f ID 查看运行日志;
检查WEB应用程序
docker inspect 来查看Docker的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息
docker rm 命令来删除不需要的容器

 

转载于:https://www.cnblogs.com/sharesdk/p/9431935.html

相关文章:

  • CentOS7安装GO
  • dll和lib的关系(转)
  • Quest 公司的Shareplex 与 GoldenGate比较
  • WPF程序 双击exe自动申请“以管理员方式运行”权限
  • 块设备
  • CCPC-Wannafly Camp #4(部分解题报告)
  • HDU 6370(并查集)
  • 面试题16:数值的整数次方
  • 开启写博客之旅
  • 网址搜集
  • 面试题小结01---实现将IP地址转换成一个整数
  • 星际争霸修改教程
  • K-Means 实现图像分割
  • BZOJ5293: [Bjoi2018]求和
  • 存储过程中实现分页
  • SegmentFault for Android 3.0 发布
  • Essential Studio for ASP.NET Web Forms 2017 v2,新增自定义树形网格工具栏
  • express如何解决request entity too large问题
  • Java 9 被无情抛弃,Java 8 直接升级到 Java 10!!
  • python_bomb----数据类型总结
  • React as a UI Runtime(五、列表)
  • storm drpc实例
  • Wamp集成环境 添加PHP的新版本
  • 阿里云Kubernetes容器服务上体验Knative
  • 番外篇1:在Windows环境下安装JDK
  • 分布式事物理论与实践
  • 基于 Ueditor 的现代化编辑器 Neditor 1.5.4 发布
  • 解析 Webpack中import、require、按需加载的执行过程
  • 名企6年Java程序员的工作总结,写给在迷茫中的你!
  • 深入浅出webpack学习(1)--核心概念
  • 突破自己的技术思维
  • 温故知新之javascript面向对象
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • 用mpvue开发微信小程序
  • Salesforce和SAP Netweaver里数据库表的元数据设计
  • 如何用纯 CSS 创作一个货车 loader
  • ​油烟净化器电源安全,保障健康餐饮生活
  • #include
  • #LLM入门|Prompt#3.3_存储_Memory
  • #快捷键# 大学四年我常用的软件快捷键大全,教你成为电脑高手!!
  • (1)(1.19) TeraRanger One/EVO测距仪
  • (2)STM32单片机上位机
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (八)五种元启发算法(DBO、LO、SWO、COA、LSO、KOA、GRO)求解无人机路径规划MATLAB
  • (附源码)ssm高校志愿者服务系统 毕业设计 011648
  • (附源码)计算机毕业设计ssm高校《大学语文》课程作业在线管理系统
  • (七)微服务分布式云架构spring cloud - common-service 项目构建过程
  • (入门自用)--C++--抽象类--多态原理--虚表--1020
  • (一)基于IDEA的JAVA基础1
  • (转)人的集合论——移山之道
  • . NET自动找可写目录
  • .bat批处理(四):路径相关%cd%和%~dp0的区别
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET Remoting学习笔记(三)信道
  • .NET 使用 ILMerge 合并多个程序集,避免引入额外的依赖