您的位置:首页 > 运维架构 > Docker

docker安装及其常用命令

2017-04-12 17:35 691 查看
1,docker概述

docker码头工人

openstack基于kvm 通过硬件虚拟化技术

docker基于lxc 通过内核虚拟化(linux内核) namespace机cgroup

好处:资源利用率高

 

docker 三大理念:

构建 运输 运行

 

容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。

 

2,docker组件

cs架构

组成:

1)    镜像(image):docker的镜像其实就是模板,跟我们常见的ISO镜像类似,是一个样板。

2)    容器(container):使用镜像常见的应用或者系统,我们称之为一个容器。

3)    仓库(repsitory):仓库是存放镜像的地方,分为公开仓库(Public)和私有仓库(Private)两种形式。

 

 

3,安装docker docker-compose:

环境:centos7

参考docker官网

 

tee /etc/yum.repos.d/docker.repo <<-'EOF'

[dockerrepo]

name=Docker Repository

baseurl=https://yum.dockerproject.org/repo/main/centos/7/

enabled=1

gpgcheck=1

gpgkey=https://yum.dockerproject.org/gpg

EOF

 

yum install -y docker-engine

systemctl enable docker.service

systemctl start docker

docker version

docker-compose安装:

方法1:

curl -L "https://github.com/docker/compose/releases/download/1.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

 

方法2:推荐

docker-compose源码安装:
https://github.com/docker/compose/archive/1.10.0-rc2.tar.gz
python setup.py install

docker-compose --version

 

docker加速器

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://50208f86.m.daocloud.io
 

 

 

4,docker常用命令

镜像操作:

搜索 docker search

获取 docker pull

查看 docker images

删除 docker rmi

 

镜像导入导出:

docker export id > cenos6.tar

cat centos.tar|docker import - centos6

 

 

运行镜像:

docker run centos echo "hello word"#在docker容器中运行hello
world!

docker run centos yum install ntpdate#在容器中安装ntpdate的程序

 

提交刚修改的容器为镜像:

docker commit 2313132 centos:v1

docker commit -m "My Nginx" fa1529ebdb96 mynginx:v1

                            容器id

                            

关闭启动删除容器:

docker stop id

docker start id #docker start 5c4a428e7335

docker rm -f id

docker run --name lannydocker -it centos /bin/bash

docker run --rm --name lannydocker -it centos /bin/bash

 

映射端口:

docker run -d -p 80:80 -p 8022:22 centos:v2

 

 

镜像--运行--exit--后台运行--再次进入

方法1,

docker start id

docker attach b83fff0e6cdc

对于nginx可能会进入失败

使用nscenter进去,yum install util-linux
–y

 

 

方法2,脚本方法重新进容器

docker start id

./in.sh mynginx

 

in.sh

#/bin/sh
pid=$(docker inspect --format "{{.State.Pid}}" $1)
nsenter --target $pid --mount --uts --ipc --net --pid


其它命令:

容器停止后就自动删除: docker run --rm centos /bin/echo "One"

杀死所有正在运行的容器:docker kill $(docker ps -a -q)

删除所有已经停止的容器:docker rm $(docker ps -a -q)

删除所有未打标签的镜像 docker rmi $(docker images -q -f dangling=true)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: