doker使用

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了doker使用相关的知识,希望对你有一定的参考价值。

搭建环境及说明

Centos6.8  64  关闭selinux 使SELINUX=disabled

 最好是centos 7 内核为3.0版本

———————————————————————以下为操作步骤及详解  ————————————————————

1.docker安装与启动

yum install -y epel-release  #centos安装扩展源

yum install docker-io #安装docker

配置文件 /etc/sysconfig/docker

chkconfig docker on  #加入开机启动

service docker start  #启动docker服务

2.基本信息查看

docker version  #查看docker的版本号,包括客户端、服务端、依赖的Go

docker info  #查看系统(docker)层面信息,包括管理的images, containers数等

docker images  查看本地主机上已有的镜像

技术分享

技术分享

3.镜像的获取与容器的使用

docker search xx  #搜索公用库中的xx镜像

技术分享

 下载镜像

docker pull xx  #dockerregistry server 中下拉xx到本地

查看本地镜像

docker images #列出images

docker images -a #列出所有的images(包含历史)

docker rmi  <xx ID> #删除一个或多个镜像

利用现有的镜像的容器制作生成新镜像

docker commit -m "centos_lin" -a "xxx"f499 centos_new  #说明centos_lin为更改的东西xxx为作者f499为被更改的镜像centos_new为改后的名字

技术分享

利用本地模版导入发制作新镜像  及备份还原

/* 因为直接去网站拿会下载的慢,所以直接到网站里,对着此包--〉右键--〉复制链接地址 网站地址:https://openvz.org/Download/template/precreated */
[[email protected] ~]# wget http://download.openvz.org/template/precreated/centos-6-x86-minimal.tar.gz
[[email protected] ~]# cat centos-6-x86-minimal.tar.gz|docker import - centos-6-x86  //import - (+自定义的名字)
b3b4668e82733e0f8d1fefa950266284924f6223673cc72fd6575ddcaa585109
[[email protected] ~]# docker images    //查看刚刚导入的镜像是否存在
/* 把现有镜像,导出为一个文件, -o要导出最后的文件名要导出的文件的标签(名)或id  */
[[email protected] ~]# docker save -o frankie-centos.tar centos-6-x86 #把现有镜像,导出为一个文件
[[email protected] ~]# ls
anaconda-ks.cfg
centos-6-x86_64-minimal.tar.gz
frankie-centos.tar
install.log
install.log.syslog
[[email protected] ~]#
/*用导出的文件恢复本地镜像  1. 先删除镜像  2. 再利用文件恢复
形式:== docker load --input frankie-centos.tar
        == docker load < frankie-centos.tar
"frankie-centos.tar"  --为文件名 */
[[email protected] ~]# docker rmi centos-6-x86  #删除镜像
Untagged: centos-6-x86:latest
Deleted: c37f3636c1f8d64c2bfb5fbbfc45ac1ae53aac6ea83c6439410c809cba709a9f
[[email protected] ~]# docker images  #查看本地镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos_with_net     latest              c5b412fe1c33        About an hour ago   294.1 MB
centos              latest              d83a55af4e75        4 weeks ago         196.7 MB
frankie             latest              d83a55af4e75        4 weeks ago         196.7 MB
[[email protected] ~]# docker load < frankie-centos.tar  #导入备份镜像
[[email protected] ~]# docker images #查看本地镜像
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
centos-6-x86        latest              c37f3636c1f8        13 minutes ago      343.8 MB
centos_with_net     latest              c5b412fe1c33        About an hour ago   294.1 MB
centos              latest              d83a55af4e75        4 weeks ago         196.7 MB
frankie             latest              d83a55af4e75        4 weeks ago         196.7 MB
//可以把自己的镜像传到dockerrhub官网上,前提是注册一个用户
[[email protected] ~]# docker push image_name  #上传image_name 镜像

 

使用镜像创建容器

docker run -it sentos /bin/bash  #创建一个容器宾并进入其中,让其运行 bash 应用

技术分享

技术分享

下图为进入容器的两种方法

技术分享

docker run -itd --name centos_aways --restart=always centos #创建一个名称centos_aways的容器,自动重启

# --restart参数:always始终重启;on-failure退出状态非0时重启;默认为,no不重启

docker tag centos lin12:lin  #相当于拷贝一份并重名为lin12标签为lin   特别说明:此为一个镜像

注意:在删除时最好加上标签这样更加精确删除  例如:docker rmi lin12:lin

技术分享

docker tag centos lin12 #相当于拷贝一份并重名为lin12

技术分享

查看容器

    docker ps :列出当前所有正在运行的container

    docker ps -l :列出最近一次启动的container

    docker ps -a :列出所有的container(包含历史,即运行过的container

    docker ps -q :列出最近一次运行的container ID

再次启动容器

docker start/stop/restart<container> #:开启/停止/重启container

技术分享

docker start [container_id] #:再次运行某个container (包括历史container

docker run --name web –itd centos bash  #--name 给容器自定义名字

image_name  

容器的退出

docker内容器常用有两种退出方式

 第一种(快捷键):ctrl+d

第二种命令形式: exit

技术分享

进入正在运行的docker容器

docker exec -it [container_id]/bin/bash

    docker run -it -p<host_port:contain_port> #:映射 HOST 端口到容器,方便外部访问容器内服务,host_port 可以省略,省略表示把 container_port 映射到一个动态端口。

删除容器、镜像

docker rmi <container...>   #: 删除一个或多个镜像也可以使用ID来删除  

技术分享

若要强制删除镜像使用-f选项即可docker rmi –fxxxx

docker rm #删除容器

docker rm `docker ps -a -q` #:删除所有的container

docker ps -a -q | xargs docker rm#:同上, 删除所有的container

docke 制作centos6.8 镜像

yum -y install febootstrap

febootstrap -i bash -i wget -i yum -iiputils -i iproute centos6 centos6-dochttp://mirrors.163.com/centos/6.8/os/x86_64/

cd centos6-doc/

tar -c .|docker import - centos68-bash#制作镜像

docker images#查看镜像

docker run -t -i centos68-bash /bin/bash#创建容器

docker ps -a#查看容器

docker start 容器ID#启动容器

docker attach 容器ID#匹配容器

镜像的导出、导入

方法一

docker save 镜像名 | bzip2 -9 -c>xxx.tar.bz2  #导出镜像

bzip2 -d -c <xxx.tar.bz2 | docker load  #导入镜像

方法二

      dockersave -o frankie-centos.tar centos-6-x86_64  #导出镜像

      docker load < frankie-centos.tar#导入镜像

 
导入、导出容器 (容器导出是指导出一个已经创建的容器到一个文件,你管此时这个容器是否处于运行状态)

容器导出命令格式: docker export xxxx   #xxx为容器名或ID

docker export576bee4bcebd >121.tar  # 导出容器

cat 12.tar|docker import - centos:V7.1 #导入容器  注意:此导入的容器实际上是镜像要让其成为容器必须以此镜像生成容器

技术分享

 


本文出自 “11109450” 博客,转载请与作者联系!

以上是关于doker使用的主要内容,如果未能解决你的问题,请参考以下文章

doker 从镜像中启动

doker介绍与操作Ⅰ

Doker构建服务ruby+jekyll

Doker存储与文件系统

doker 笔记 架构

doker学习笔记