文档章节

centos7安装docker

fengyexjtu
 fengyexjtu
发布于 2016/12/11 18:12
字数 1225
阅读 72
收藏 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
博文 49
码字总数 20075
作品 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
centos7系统下 docker 环境搭建

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

qq_33326449
03/20
0
0
Centos 安装指定版本的docker

Centos 安装指定版本的docker 老王2017-11-192 阅读 安装docker版本CentOS 一、添加Docker源 二、更新源和升级系统 三、卸载旧版本Docker 四、列出所有版本 五、安装指定版本 点赞 安装docke...

老王
2017/11/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

qduoj~前端~二次开发~打包docker镜像并上传到阿里云容器镜像仓库

上一篇文章https://my.oschina.net/finchxu/blog/1930017记录了怎么在本地修改前端,现在我要把我的修改添加到部署到本地的前端的docker容器中,然后打包这个容器成为一个本地镜像,然后把这...

虚拟世界的懒猫
今天
1
0
UML中 的各种符号含义

Class Notation A class notation consists of three parts: Class Name The name of the class appears in the first partition. Class Attributes Attributes are shown in the second par......

hutaishi
今天
1
0
20180818 上课截图

小丑鱼00
今天
1
0
Springsecurity之SecurityContextHolderStrategy

注:下面分析的版本是spring-security-4.2.x,源码的github地址是: https://github.com/spring-projects/spring-security/tree/4.2.x 先上一张图: 图1 SecurityContextHolderStrategy的三个......

汉斯-冯-拉特
今天
1
0
LNMP架构(Nginx负载均衡、ssl原理、生成ssl密钥对、Nginx配置ssl)

Nginx负载均衡 网站的访问量越来越大,服务器的服务模式也得进行相应的升级,比如分离出数据库服务器、分离出图片作为单独服务,这些是简单的数据的负载均衡,将压力分散到不同的机器上。有时...

蛋黄_Yolks
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部