专栏首页7DGroup性能环境之docker操作指南1(全网最全)

性能环境之docker操作指南1(全网最全)

声明:原创作者独家授权,转载需要保留本公众号信息。

docker安装

  • 简易安装:
#echo deb http://get.docker.io/ubuntu docker main \| sudo tee /etc/apt/sources.list.d/docker.list sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 36A1D7869245C8950F966E92D8576A8BA88D21E9
#sudo apt-get update
#sudo apt-get install -y lxc-docker
  • 安装最新版本:

1.卸载旧版本docker 全新安装时,无需执行该步骤

# apt-get --purge remove docker docker-engine docker.io lxc-docker

2.更新系统软件

# apt-get update

3.安装依赖包

# apt-get install apt-transport-https ca-certificates curl software-properties-common

4.添加官方密钥 执行该命令时,如遇到长时间没有响应说明网络连接不到docker网站,需要使用代-理进行。

# curl -fsSL https://download.docker.com/linux/ubuntu/gpg \| sudo apt-key add -

显示OK,表示添加成功. 5.添加仓库

# add-apt-repository \\ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \$(lsb_release -cs) stable"

6.再次更新软件

# apt-get update

7.安装docker 如果想指定安装某一版本,可使用apt-get install docker-ce=\命令,把\替换为具体版本即可。 以下命令没有指定版本,默认就会安装最新版

# apt-get install docker-ce

8.查看docker版本

# docker -v

非root用户管理docker

1.创建docker组

# groupadd docker

2.将非root用户加入docker组

# gpasswd -a ${USER} docker

3.重新启动docker服务

# systemctl restart docker

4.用户退出系统重新登陆

修改默认存储

默认情况下Docker的存放位置为:/var/lib/docker 可以通过下面命令查看具体位置:

docker info \| grep "Docker Root Dir"

修改默认存储有两种方法:

  • 建立软连接

首先停掉Docker服务:

systemctl restart docker或者service docker stop

` 然后移动整个/var/lib/docker目录到目的路径,建立软连接:

mv /var/lib/docker /data ln -s /data/docker /var/lib/docker |
  • 修改配置文件

centos6:

$ vi /etc/sysconfig/docker
添加如下内容:
OPTIONS=--graph="/data/docker" --selinux-enabled -H fd://

centos7:

# vi /usr/lib/systemd/system/docker.service
添加如下内容:
ExecStart=/usr/bin/dockerd --graph /data/docker

Ubuntu:

# vi /etc/default/docker
添加如下内容:
OPTIONS=--graph="/data/docker" -H fd://\#
或者
DOCKER_OPTS="-g /data/docker"

以上配置修改完成后,均需要重启docker

systemctl daemon-reload && systemctl restart docker.service
  • 如果docker13以上版本
$ vi /etc/docker/daemon.json
加入如下内容:
{"graph":"/data/docker"}

和其他参数一块添加

{ "registry-mirrors": ["https://n9h3vi0d.mirror.aliyuncs.com"], #镜像加速地址
"insecure-registries": ["harbor.test.com","192.168.119.119:1080"], #非SSL源管理镜像。
"graph": "/data/docker", "max-concurrent-downloads": 10 }

添加加速器

方法一:

#vi /etc/default/docker

加入如下内容:

DOCKER_OPTS="\$DOCKER_OPTS --registry-mirror=https://n9h3vi0d.mirror.aliyuncs.com"

重启docker:

systemctl daemon-reload && systemctl restart docker.service

方法二:

# vi /etc/docker/daemon.json

加入如下内容:

{"registry-mirrors":["https://n9h3vi0d.mirror.aliyuncs.com"]}

获取images

我们如何获取新的images呢?当我们启动容器使用的image不再本地主机上时,docker会自动下载他们。

# docker run -t -i ubuntu:14.04 /bin/bash sudo docker run -t -i ubuntu:12.04 /bin/bash

这很耗时,我们可以使用docker pull命令来预先下载我们需要的image。下面的例子下载一个centos镜像。

# docker pull centos
Pulling repository centos
b7de3133ff98: Pulling dependent layers
5cc9e91966f7: Pulling fs layer
511136ea3c5a: Download complete
ef52fb1fe610: Download complete

我们可以看到下载的image的每一个层次,这样当我们使用这个image来启动容器的时候,它就可以马上启动了。

# docker run -t -i centos /bin/bash
bash-4.1\#

常用命令

其中<>阔起来的参数为必选,[]阔起来为可选

1. docker version
查看docker的版本号,包括客户端、服务端、依赖的Go等
2. docker info
查看系统(docker)层面信息,包括管理的images, containers数等
3. docker search <image>
在docker index中搜索image
4. docker pull <image>
从docker registry server 中下拉image
5. docker push <image|repository>
推送一个image或repository到registry
6. docker push <image|repository>:TAG
同上,指定tag
7. docker inspect <image|container>
查看image或container的底层信息
8. docker images
查看本机images
9. docker images –a
列出所有的images
10. docker ps
默认显示正在运行中的container
11. docker ps –l
显示最后一次创建的container,包括未运行的
12. docker ps –a
显示所有的container,包括未运行的
13. docker logs <container>
查看container的日志,也就是执行命令的一些输出
14. docker rm <container...>
删除一个或多个container
15. docker rm `docker ps -a -q`
删除所有的container
16. docker ps -a -q | xargs docker rm
同上, 删除所有的container
17. docker rmi <image...>
删除一个或多个image
18. docker start/stop/restart <container>
开启/停止/重启container
19. docker start -i <container>
启动一个container并进入交互模式
20. docker attach <container>
attach一个运行中的container
21. docker run <image> <command>
使用image创建container并执行相应命令,然后停止
22. docker run -i -t <image> /bin/bash
使用image创建container并进入交互模式, login shell是/bin/bash
23. docker run -i -t -p <host_port:contain_port>
将container的端口映射到宿主机的端口
24. docker commit <container> [repo:tag]
将一个container固化为一个新的image,后面的repo:tag可选
25. docker build <path>
寻找path路径下名为的Dockerfile的配置文件,使用此配置生成新的image
26. docker build -t repo[:tag]
同上,可以指定repo和可选的tag
27. docker build - < <dockerfile>
使用指定的dockerfile配置文件,docker以stdin方式获取内容,使用此配置生成新的image
28. docker port <container> <container port>
查看本地哪个端口映射到container的指定端口,其实用docker ps 也可以看到
29. 更改主机名
$ docker run -it --hostname web jim/custom1 /bin/bash

未完待续....

本文分享自微信公众号 - 7DGroup(Zee_7DGroup)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2018-08-17

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Docker|基础篇

    Docker 在容器的基础上,进行了进一步的封装,从文件系统、网络互联到进程隔离等等,极大的简化了容器的创建和维护。使得 Docker 技术比虚拟机技术更为轻便...

    用户3467126
  • docker学习系列20 工具推荐,dive 分析镜像层的工具

    在 Docker 学习系列17 镜像和容器的导入导出 我讲过docker镜像是由一层层组成的 比如如下dockerfile文件

    mafeifan
  • 使用 Docker 部署 Spring Boot

    Docker 技术发展为微服务落地提供了更加便利的环境,使用 Docker 部署 Spring Boot 其实非常简单,这篇文章我们就来简单学习下。

    DencyCheng
  • kubernetes-9:nginx-ingress容器化

    如果可能,尽量用公有云提供的ingress-nginx支持,方便快捷易维护,且可以直接通过便宜方式挂载到公有云的SLB上。

    千里行走
  • 基于maven的项目脚手架,一键创建项目的项目模板

    Springboot的出现极大的简化了项目开发的配置,然而,到真实使用的时候还是会有一堆配置需要设定。比如依赖管理,各种插件,质量扫描配置,docker配置,持...

    Ryan-Miao
  • kubernetes-8:kibana容器化

    http://toutiao.com/item/6699441606832947723/

    千里行走
  • kubernetes-2:helm实战-1:生产级别的elasticsearch集群部署

    helm repo add elastic https://helm.elastic.co

    千里行走
  • 推动边缘计算的七项核心技术

    年前施巍松教授和其团队(张星洲、王一帆、张庆阳)应《计算机研究与发展》编辑部之邀,庆刊60周年发表论文,边缘计算社区经过和施巍松教授沟通,将论文整理成几篇,方便...

    边缘计算
  • Docker|持续集成

    在敏捷开发中,软件项目的构建被切分成多个子项目,各个子项目的成果都经过测试,具备集成和可运行的特征。

    用户3467126
  • Centos7安装Docker

    镜像是用来创建Docker容器的。一个镜像可以包含一个完整的操作系统环境和用户需要的其他应用程序,在Docker Hub里面有大量现成的镜像提供下载,Docke...

    Wyc

扫码关注云+社区

领取腾讯云代金券