docker安装与启动
安装docker

[root@localhost /]# yum -y install docker-io

更改配置文件

[root@localhost /]# vi /etc/sysconfig/docker

other-args列更改为:other_args="--exec-driver=lxc --selinux-enabled"
启动docker服务

[root@localhost /]# service docker start
重启docker
service docker restart

Starting cgconfig service: [ OK ]
Starting docker: [ OK ]

将docker加入开机启动
[root@localhost /]# chkconfig docker on

基本信息查看
docker version:查看docker的版本号,包括客户端、服务端、依赖的Go等

[root@localhost /]# docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.2
Git commit (client): 63fe64c/1.0.0
Server version: 1.0.0
Server API version: 1.12
Go version (server): go1.2.2
Git commit (server): 63fe64c/1.0.0

1、进入容器命令:
sudo docker exec -ti 64134af51c2b /bin/sh
其中64134af51c2b表示要进入的容器名称
2、退出容器:exit

3、查看日志文件:tail -f xxx.log

ssh ubuntu@172.16.200.59

启动docker :service docker start

docker下载的镜像存放地址:一般都是在/var/lib/docker/devicemapper/mnt目录下

docker镜像文件的导出导入:
可联网的虚拟机中先获取registry镜像,然后导出tar格式的镜像文件。
docker save registry > /tmp/registry.tar
在目标虚拟机中导入tar格式的镜像文件。
docker load <registry.tar
然后通过docker images 命令即可查看导进来的镜像文件了。
启动容器:docker run IMAGE ID
通过docker ps -a 查看所有正在运行的容器

sudo docker run -i -t ubuntu /bin/bash
这条命令的含义:
首先,我们告诉 Docker 执行 docker run 这条命令,并且带上 -i -t 这两个参数。
-i 标志保证容器中 STDIN 是开启的,虽然并没有附着在容器中;
-t 标志要为新创建的容器分配一个伪 tty 终端,这样我们就能在新创建容器中使用 交互式 shell ;
接下来,我们告诉 Docker 基于什么镜像来创建容器,实例中使用的是 ubuntu 镜像。
随后, Docker 在文件系统内部用这个镜像创建了一个容器,该容器有着自己的网络、IP地址以及和宿主主机用来通信的桥接网络接口。
最后,在新创建的容器中运行 /bin/bash 命令启动了一个 Bash shell.
这样,容器创建完毕后,我们就可以看到容器中启动了shell .

docker 移除一个容器;
第一步:先停止该容器:docker stop 79072778a521
第二步:移除该容器: docker rm 79072778a521

进入容器的方法:1、attach ;3、exec
首先不管采用那种方式,必须先起一个容器:创建一个守护态的Docker容器
sudo docker run -itd ubuntu:14.04 /bin/bash
使用docker ps -a 命令查看容器的id 44fc0f0582d9
1、attach方法:
sudo docker attach 44fc0f0582d9
然后从[root@localhost /]变成了[root@44fc0f0582d9 /],这就说明进入了44fc0f0582d9容器
进入容器后,输入ls命令,列出所有的文件夹,跟我们常用的系统一模一样:
bin etc lib lost+found mnt proc run srv tmp var
dev home lib64 media opt root sbin sys usr
退出容器exit,这样又变成了[root@localhost /]
2、使用exec:
sudo docker exec -it 44fc0f0582d9 /bin/bash
如果进入容器报错说容器没有启动,需要先启动,可以使用docker restart 44fc0f0582d9命令将44fc0f0582d9容器重启下,然后再使用进入容器命令。

//////////////////////////////////////////////////////////////////////////
基于ubuntu基础镜像创建一个nginx镜像
1、首先进入ubuntu容器中,然后在该容器中创建一个nginx目录
ubuntu@ubuntu:~$ mkdir nginx #创建nginx目录
ubuntu@ubuntu:~$ cd nginx #进入目录
ubuntu@ubuntu:~/nginx$ touch Dockerfile 执行Dockerfile文件

Dockerfile文件:
FROM ubuntu:14.04
MAINTAINER Reed "reed@example.com"

RUN apt-get update
RUN apt-get -y -q install nginx
RUN mkdir -p /var/www/html

ADD global.conf /etc/nginx/conf.d/
ADD nginx.conf /etc/nginx/nginx.conf

EXPOSE 80
对上面Dockerfile文件做一个解释:
FROM 指定基础镜像,我们制做的镜像是在Ubuntu:14.04的基础上生成的。
MAINTAINER 镜像制作人的信息
RUN 指定创建镜像时执行的命令
ADD 将本地文件添加到镜像中
EXPOSE 容器开放80端口

docker容器迁移:
docker exoprt 容器id >ubuntu_wrong.tar #ubuntu_wrong.tar 是你自己给容器起的一个英文名字,方便识别
du -sh ubuntu_wrong.tar
默认是把ubuntu_wrong.tar拷贝到root根目录下下的;
然后将该ubuntu_wrong.tar再拷贝到要迁移的服务器上。
然后通过下面的命令:
cat ubuntu_wrong.tar |sudo docker import - wr:latest
其中wr是自己起的一个名字。latest表示最新,也可以指定一个版本。

docker镜像迁移迁入:
导出镜像文件:
sudo docker save -o wrong-mysql.tar 114.113.1.101:6666/admin/commsrvmongodb:v3.4.82f5fd7
其中114.113.1.101:6666/admin/commsrvmongodb是镜像的名称
v3.4.82f5fd7是镜像的版本
wrong-mysql.tar是迁移出来的名称,到当前路径下。

导入镜像文件:
sudo docker load -i wrong-mysql.tar
必须在wrong-mysql.tar路径下面操作

修改docker 的配置文件:cat /etc/sysconfig/docker
将docker设为开机启动:chkconfig docker on

宿主机和容器的文件相互复制
1、从docker中拷贝数据到宿主机:
首先在宿主机上通过sudo docker ps | grep demo
查出demo的容器id:b2764cd71857
然后在宿主机上执行下面命令:
docker cp containerId:/file/path/within/container /host/path/target
例如:
sudo docker cp b2764cd71857:/home/logs/rm-service/log/zip /home

2、从宿主机拷贝数据到docker中;
sudo docker cp /home/ubuntu/wr/pm-adaptor.jar f3a2a81eb929:/home/zenap/pm-adaptor/pm-adaptor.jar

工作中Docker使用命令笔记的更多相关文章

  1. 工作中常用Linux命令--服务器运维

    工作中常用Linux命令--服务器运维 lsof查看端口使用情况 lsof -i:8080更多lsof命令使用说明:http://www.cnblogs.com/peida/archive/2013/ ...

  2. 工作中常用Lixu命令学习笔记

    对于Linux,我是菜鸟,也是在工作中了才开始慢慢接触,用Linux的人都我都会觉得屌屌的,现在把工作中常用的一些Linux命令记录一下,供以后学习和参考. cd 这可能是我觉得Linux最简单的一个 ...

  3. 【mysql】工作中mysql常用命令及语句

    1.查看mysql版本号 MySQL [release_test_oa]> select version(); +------------+ | version() | +----------- ...

  4. 工作中git常用命令

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; line-height: 16.0px; font: 14.0px "PingFang SC" } ...

  5. git总结一、工作中常用基础命令

    首先来了解两个概念: 工作区:比如你的项目目录 暂存区:git和其他版本控制系统的不同之处就是有这个暂存区的概念. .git不是工作区,而是git 版本库,在版本库中存放着很多东西,比如暂存区(sta ...

  6. Git 日常工作中使用的命令记录

    前言   这篇文章主要是介绍我在使用Git中的有一些忘记了,但是很重要的命令. 20190424 Git 历史信息 username 和 email 更改 git config alias.chang ...

  7. 工作中Linux常用命令

    rpm -qa|grep -i mysql rpm -ev mysql-server-5.1.73-5.el6_6.x86_64 如果报: error: Failed dependencies: li ...

  8. Docker镜像命令笔记

    docker安装 官方Ubuntu安装文档 获取 docker pull NAME[:TAG] docker pull registry.docker-cn.com/library/ubuntu:14 ...

  9. 工作中常用Linux命令

    建立软链接  ln -s      例:ln -s b a 解释:把文件夹a和文件夹b关联起来,访问文件夹a,实际访问的是问价夹b 删除软连接  rm -rf a  直接删掉a文件夹跟a和b的软连接. ...

随机推荐

  1. FileInputStream和FileReader

    这两个类都可以读入数据到缓冲区,FileInputStream在传递到buffer的时候要用byte定义buffer,不然报错.比如: byte [] buffer = new byte[100]; ...

  2. SPOJ:K-Query Online(归并树)

    Given a sequence of n numbers a1, a2, ..., an and a number of k-queries. A k-query is a triple (i, j ...

  3. PHP自动发送邮件

    目录 1. PHPMailer 2. 集成ThinkPHP 2.1 类库重命名 2.2 配置SMTP服务器 2.3 使用 1. PHPMailer 在自己项目引入核心类库文件 require_once ...

  4. Codeforces Round #419 (Div. 1) 补题 CF 815 A-E

    A-C传送门 D Karen and Cards 技巧性很强的一道二分优化题 题意很简单 给定n个三元组,和三个维度的上限,问存在多少三元组,使得对于给定的n个三元组中的每一个,必有两个维度严格小于. ...

  5. PYTHON路线图

    路线图: 第一部分:Python语言基础 第二部分:数据库开发 第三部分:web前端 第四部分:Python web开发 第五部分:Python web项目 第六部分:Linux 第七部分:NoSQL ...

  6. java服务器端断点续传

    Servlet Java代码 复制代码 收藏代码 import java.io.BufferedOutputStream; import java.io.File; import java.io.IO ...

  7. scrollerView 滚动的时候改变 scrollerView 的背景色代码

    要实现点击电池条的时候立即回到页面的顶部的时候注意: 只有当一个主控制器有一个scrollview 并把这个属性设置为yes,其他的scrollview.scrollsToTop = NO 这样才会响 ...

  8. 指针 * &

    int main() { ; //定义int变量updates int * p_updates; //定义指针p_updates p_updates=&updates;//将updates的地 ...

  9. Spring之配置文件加载方式

    spring在org.springframework.core.io包中提供了多种配置文件加载方式.无论是XML.URL还是文件,都有很好的支持.比如基于URL的UrlResource.基于输入流的I ...

  10. php大小写转换函数

    1.将字符串转换成小写   strtolower(): 该函数将传入的字符串参数所有的字符都转换成小写,并以小定形式放回这个字 符串.例: <?php $str = "I want T ...