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=
建立 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 +) docker中 关闭所有的容器命令
docker stop $(docker ps -a | awk '{ print $1}' | tail -n +) docker中 删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +) docker中 删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +)
获取新镜像 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 更换源;
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:: images
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上
-p:指定端口
--name name12
docker run -d -p 0.0.0.0:: --name rancher12 rancher/server docker Port ID 查看端口;
docker logs -f ID 查看运行日志;
检查WEB应用程序
docker inspect 来查看Docker的底层信息。它会返回一个 JSON 文件记录着 Docker 容器的配置和状态信息
docker rm 命令来删除不需要的容器
Docker 操作记录的更多相关文章
- [原]docker 操作记录
开启新容器 docker run --name 容器名字 -ti[d] 镜像 初始化命令(需要是阻塞的) 额外参数 -v 本地目录:容器目录[:ro] 映射本地路径和容器路径(时区同步.数据库dock ...
- docker 操作 记录
docker ps #查看当前docker容器 docker exec -it 容器名称 sh 进入docker容器 docker stop 停止docker容器
- Docker入门 .Net Core 使用Docker全程记录
https://www.cnblogs.com/flame7/p/9210986.html Docker入门 第一课 --.Net Core 使用Docker全程记录 微服务架构无疑是当前最火热的 ...
- centos 6x系统下源码安装mysql操作记录
在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...
- Mysql更换MyISAM存储引擎为Innodb的操作记录
一般情况下,mysql会默认提供多种存储引擎,可以通过下面的查看: 1)查看mysql是否安装了innodb插件.通过下面的命令结果可知,已经安装了innodb插件. mysql> show p ...
- nginx缓存配置的操作记录梳理
web缓存位于内容源Web服务器和客户端之间,当用户访问一个URL时,Web缓存服务器会去后端Web源服务器取回要输出的内容,然后,当下一个请求到来时,如果访问的是相同的URL,Web缓存服务器直接输 ...
- Linux下修改系统编码的操作记录
Linux系统安装后,发现中文显示乱码.因为系统编码为en_US.UTF-8,应改为支持中文的编码(即zh_CN.UTF-8)操作记录如下:1)检查linux的系统编码检查linux的系统编码,确定系 ...
- Nginx中防盗链(下载防盗链和图片防盗链)操作记录
日常运维工作中,设置防盗链的需求会经常碰到,这也是优化网站的一个必要措施.今天在此介绍Nginx中设置下载防盗链和图片防盗链的操作~ 一.Nginx中下载防盗链的操作记录对于一些站点上的下载操作,有很 ...
- nginx利用geo模块做限速白名单以及geo实现全局负载均衡的操作记录
geo指令使用ngx_http_geo_module模块提供的.默认情况下,nginx有加载这个模块,除非人为的 --without-http_geo_module.ngx_http_geo_modu ...
随机推荐
- webpack入门(六) API in modules
A quick summary of all methods and variables available in code compiled with webpack. 用webpack编译的一些变 ...
- 模拟@Test的功能实现
注解和注释区别 * 注释:给程序员看的.* 注解:给虚拟机看的.(让虚拟机看到程序中的注解,注解代表程序的一些特殊的功能.) JDK中提供的注解 @Override :描述子类重写父类的方法: * J ...
- Spring Data JPA Batch Insertion
转自:https://www.jeejava.com/spring-data-jpa-batch-insertion/ Spring Data JPA Batch Insertion will sho ...
- ubuntu 15 安装docker
最近听说Docker很火,不知道什么东西,只知道是一个容器,可以跨平台.闲来无事,我也来倒弄倒弄.本文主要介绍:Ubuntu下的安装,以及基本的入门命令介绍:我的机器是Ubuntu 15.04 64位 ...
- A1122. Hamiltonian Cycle
The "Hamilton cycle problem" is to find a simple cycle that contains every vertex in a gra ...
- Mybatis 批量插入时得到插入的id(mysql)
前言: 在开发中,我们可能很多的时候可能需要在新增时得到刚才新增的id,后续的逻辑需要用到这个id. 在插入单条记录的情况下,这个是很简单的问题.多条记录时有个坑在里面. 单条记录的代码如下 < ...
- python 当前时间获取方法
1.先导入库:import datetime 2.获取当前日期和时间:now_time = datetime.datetime.now() 3.格式化成我们想要的日期:strftime() 比如:“2 ...
- ImageMagick - MAGICK_CODER_MODULE_PATH 测试结果, 很受伤
//通过查看 ImageMagick 源代码: http://code.metager.de/source/xref/ImageMagick/MagickCore/module.c#552 //首先会 ...
- TCHAR和CHAR类型的互转,string 转lpcwstr
https://www.cnblogs.com/yuguangyuan/p/5955959.html 没有定义UNICODE,所以它里面的字符串就是简单用" "就行了,创建工程的时 ...
- 灰度发布/AB test
背景 互联网产品有一个特点,就是不停的升级,升级,再升级.一般采用敏捷开发的团队,基本上保持每周一次的发布频率,系统升级总是伴随着风险,新旧版本兼容的风险,用户使用习惯突然改变而造成用户流失的风险,系 ...