文档章节

centos7安装docker

fengyexjtu
 fengyexjtu
发布于 2016/12/11 18:12
字数 1225
阅读 75
收藏 2

centos7安装docker

修改源

    sudo 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

安装docker

    yum install docker-engine

安装过程可能比较慢,包下载不下来 docker-engine-1.12.3-1.el7.centos.x86_64.rpm

可以手动下载,然后使用命令 yum localinstall docker-engine-1.12.3-1.el7.centos.x86_64.rpm进行安装

安装Docker-compose

先安装pip

# wget  https://raw.githubusercontent.com/pypa/pip/master/contrib/get-pip.py 
# python get-pip.py

再安装compose

# pip install docker-compose

测试案例

下载测试代码

# git clone https://github.com/jiekechoo/docker-haproxy

运行

# cd docker-haproxy
# docker-compose up

浏览器打开本机IP:http://192.168.1.230

docker加速器配置

使用daocloud的加速器.还可以配置163等

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

会在 /etc/docker/daemon.json 中 生成以下语句:

{"registry-mirrors": ["http://6f0d54fb.m.daocloud.io"]}

重启docker即可.

docker简单使用流程

创建一个ubuntu的虚拟机,退出后删除本虚拟机

docker run -it --rm ubuntu:14.04 /bin/bash

创建一个ubuntu的虚拟机,并挂载一个文件夹,退出后删除本虚拟机

docker run -it -v /c/Users/hzlzjr/:/hz/ --rm ubuntu:14.04 /bin/bash

创建一个名字为ubuntu的ubuntu系统虚拟机

docker run -it --name ubuntu ubuntu:14.04 /bin/bash

查看所有虚拟机和状态

docker ps -a

查看运行的虚拟机

docker ps -a

开启虚拟机

docker start ubuntu

进入虚拟机

docker exec -it ubuntu /bin/zsh

Docker 清理命令

杀死所有正在运行的容器

docker kill $(docker ps -a -q)

删除所有已经停止的容器

docker rm $(docker ps -a -q)

删除所有未打 dangling 标签的镜像

docker rmi $(docker images -q -f dangling=true)

删除所有镜像

docker rmi $(docker images -q)

为这些命令创建别名

# ~/.bash_aliases

# 杀死所有正在运行的容器.
alias dockerkill='docker kill $(docker ps -a -q)'
# 删除所有已经停止的容器.
alias dockercleanc='docker rm $(docker ps -a -q)'
# 删除所有未打标签的镜像.
alias dockercleani='docker rmi $(docker images -q -f dangling=true)'
# 删除所有已经停止的容器和未打标签的镜像.
alias dockerclean='dockercleanc || true && dockercleani'

常用命令

  1. 查看容器的root用户密码 docker logs <容器名orID> 2>&1 | grep '^User: ' | tail -n1 因为Docker容器启动时的root用户的密码是随机分配的。所以,通过这种方式就可以得到redmine容器的root用户的密码了。
  2. 查看容器日志 docker logs -f <容器名orID>
  3. 查看正在运行的容器 docker ps docker ps -a为查看所有的容器,包括已经停止的。
  4. 删除所有容器 docker rm $(docker ps -a -q) 删除单个容器 docker rm <容器名orID>
  5. 停止、启动、杀死一个容器 docker stop <容器名orID> docker start <容器名orID> docker kill <容器名orID>
  6. 查看所有镜像 docker images
  7. 删除所有镜像 docker rmi $(docker images | grep none | awk '{print $3}' | sort -r)
  8. 运行一个新容器,同时为它命名、端口映射、文件夹映射。以redmine镜像为例 docker run --name redmine -p 9003:80 -p 9023:22 -d -v /var/redmine/files:/redmine/files -v /var/redmine/mysql:/var/lib/mysql sameersbn/redmine
  9. 一个容器连接到另一个容器 docker run -i -t --name sonar -d -link mmysql:db tpires/sonar-server sonar 容器连接到mysql容器,并将mmysql容器重命名为db。这样,sonar容器就可以使用db的相关的环境变量了。
  10. 拉取镜像 docker pull <镜像名:tag>docker pull sameersbn/redmine:latest
  11. 当需要把一台机器上的镜像迁移到另一台机器的时候,需要保存镜像与加载镜像。 机器a docker save busybox-1 > /home/save.tar 使用scp将save.tar拷到机器b上,然后: docker load < /home/save.tar
  12. 构建自己的镜像 docker build -t <镜像名> <Dockerfile路径> 如Dockerfile在当前路径: docker build -t xx/gitlab .
  13. 重新查看container的stdout
# 启动top命令,后台运行
$ ID=$(sudo docker run -d ubuntu /usr/bin/top -b)
# 获取正在running的container的输出
$ sudo docker attach $ID
top - 02:05:52 up  3:05,  0 users,  load average: 0.01, 0.02, 0.05
Tasks:   1 total,   1 running,   0 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.2%sy,  0.0%ni, 99.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:    373572k total,   355560k used,    18012k free,    27872k buffers
Swap:   786428k total,        0k used,   786428k free,   221740k cached
^C$
$ sudo docker stop $ID
  1. 后台运行(-d)、并暴露端口(-p) docker run -d sh-p 127.0.0.1:33301:22 centos6-s
  2. 从Container中拷贝文件出来 sudo docker cp 7bb0e258aefe:/etc/debian_version . 拷贝7bb0e258aefe中的/etc/debian_version到当前目录下。 注意:只要7bb0e258aefe没有被删除,文件命名空间就还在,可以放心的把exit状态的container的文件拷贝出来
  3. 查看container的ip地址 docker inspect --format='{{.NetworkSettings.IPAddress}}' $CONTAINER_ID

备注:

  1. ubuntu14下的docker是没有service服务。去除每次sudo运行docker命令,需要添加组:
# Add the docker group if it doesn't already exist.
$ sudo groupadd docker
#改完后需要重新登陆用户
$ sudo gpasswd -a ${USER} docker
  1. ubuntu14的febootstrap没有-i命令
  2. Dockerfile中的EXPOSE、docker run --expose、docker run -p之间的区别 Dockerfile的EXPOSE相当于docker run --expose,提供container之间的端口访问。docker run -p允许container外部主机访问container的端口

© 著作权归作者所有

共有 人打赏支持
fengyexjtu

fengyexjtu

粉丝 5
博文 52
码字总数 20519
作品 0
西安
程序员
Docker实践(一):安装

前提 系统:我这边都使用虚拟机安装的CentOS7,具体安装可以参考:Windows安装Linux虚拟机(CentOS7) yum:推荐更新下yum:yum update;我们这边CentOS7自带docker,如果没有安装docker可以用y...

u010246789
2016/12/31
0
0
Docker自制镜像之私有云平台完整版

一、Docker安装 Docker之安装篇 二、Docker操作 搜索中央仓库可用镜像 $ docker search centos 2.1【镜像操作命令】 2.1.1 查看所有镜像docker images删除所有镜像 $ docker rmi $(docker im...

saxon_i
08/13
0
0
Centos7制作docker初始镜像

Centos7用febootstrap制作docker初始镜像包 使用工具:febootstrap 下载地址:http://down.51cto.com/data/2330414 使用命令: febootstrap -i bash -i wget -i yum -i iputils -i iproute -......

vanche
2017/07/30
0
0
CentOS快速安装docker服务

  前言   2017 年 3 月,Docker从1.13.x版本开始,版本分为企业版EE和社区版CE,版本号也改为按照时间线来发布,比如17.03就是2017年3月。企业版本是需要付费的,强调安全。      d...

linux运维菜
08/26
0
0
centos7系统下 docker 环境搭建

运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段) centos7一定要安装64位, docker目前不支持32位内核 ##看准了, 是...

qq_33326449
03/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

js的

<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %> <c:forEach items="${topics}" var="item" varStatus="status"> </c:forEach> 注意 c:forEach E大写 varStatus ......

踏破铁鞋无觅处
19分钟前
0
0
带你走进java集合之ConcurrentHashMap

一、概述 上一篇文章《带你走进java集合之HashMap》分析了HashMap的实现原理,重点分析了HashMap是怎么样的一种数据结构,以及如何去插入,查询,扩容等操作。相信经过上一篇文章的学习,大家...

木木匠
20分钟前
0
0
spring-boot 热加载实现替换

参考资料 1、spring-boot 热加载实现替换

哎小艾
22分钟前
0
0
kotlin使用spring mvc(二)

使用FilterRegistrationBean注册Filter 使用WebFilter配置过滤器的缺点是不可以对过滤器进行排序,但是使用FilterRegistrationBean可以设置Filter执行的顺序 编写过滤器 class CustomFilter...

weidedong
23分钟前
0
0
Qt那些事0.0.5

碰到了中文乱码问题。 虽然是自己做了件令自己都不齿的事情,但是情急之下,暂且如此:将中文硬编码进代码中。 我也想通过tr+qm翻译进行转换,但是难过的是,tr之后,找不到或者不起作用。这...

Ev4n
25分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部