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. Javascript对象拷贝(clone)

    Javascript对象拷贝(clone),希望大家给点建议​1. [代码]方法代码 function cp(source, target) {    function isBaseType(v) { ...

  2. hdu 2066 一个人的旅行 解题报告

    题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=2066 题目意思:给出T条路,和草儿家相邻的城市编号,以及草儿想去的地方的编号.问从草儿家到达草儿想去的 ...

  3. silverlight 使用IValueConverter 转换

    在绑定数据中 有时候我们需要转换相关数据类型 silverlight提供了一个System.Windows.Data.IValueConverter接口它提供两个方法 Convert和ConvertB ...

  4. 西门子PLC存储器、地址区

    S7-1500 CPU的存储器 1.内部集成的存储器:工作存储器,保持性存储器,系统存储器 2.外插的SIMATIC存储卡:装载存储器去 装载存储器:断电信息不丢失,主要存储项目中程序块,数据块,工艺 ...

  5. 【转】 JUnit单元测试--IntelliJ IDEA

    原文地址:https://blog.csdn.net/weixin_38104426/article/details/74388375 使用idea IDE 进行单元测试,首先需要安装JUnit 插件 ...

  6. JSP有哪些内置对象

    JSP有哪些内置对象? 1.page:JSP网页本身; 2.request:用户端请求,此请求会包含来自GET/POST请求的参数; 3.session:请求有关的会话; 4.application: ...

  7. Java使用Jacob将Word、Excel、PPT转化成PDF

    使用Jacob将金山WPS转化成PDF,其中WPS文字使用KWPS.Aplication.Excel表格是KET.Application.演示文档是KWPP.Application,废话不多说,直接上 ...

  8. iOS开发检测是否开启定位、是否允许消息推送等权限

    1.iOS开发检测是否开启定位: 需要导入: #import <CoreLocation/CoreLocation.h> 代码如下: + (void)openLocationService ...

  9. hihoCoder扩展欧几里得

    #include <iostream> #include <stdio.h> #include <stdlib.h> #include <string.h&g ...

  10. 洛谷 P3480 [POI2009]KAM-Pebbles

    https://www.luogu.org/problemnew/solution/P3480 讲不清楚... 首先对原序列做差分:设原序列为a,差分序列为d 那么,每一次按题意在原序列位置i处取走石 ...