docker构建微服务 入门篇

什么是docker?

  • docker是一个轻量级的开源应用容器引擎
  • 容器使用沙箱机制,相互之间不会有任何接口,并且容器的性能开销低

怎么使用docker容器?

  • docker可以安装在Linux系统中,也可以安装在Windows系统和MacOS中
  • 但是docker对系统有要求,比如CentOS系统的内核版本需要高于3.8
  • 使用uname -f 命令查询系统当前的内核版本
[root@test003 tmp]# uname -r
2.6.32-431.el6.x86_64
  • 看到系统默认的内核是2.6.32的,此时我们在安装docker前需要更新系统内核

更新系统内核

操作系统使用的是CentOS7

[root@localhost ~]# cat /etc/redhat-release 
CentOS Linux release 7.3.1611 (Core) 
  1. 升级内核版本(包含aufs)
cd /etc/yum.repos.d
wget http://www.hop5.in/yum/el6/hop5.repo
yum install kernel-ml-aufs kernel-ml-aufs-devel
  1. 修改引导的内核
vi /etc/grub.conf

把默认的引导文件设置为0。因为升级内核之后,新的内核在第一个(0)位置。

  1. 重启系统,使用新的内核
  • 检查内核版本:
[root@localhost ~]# uname -r
3.10.0-514.el7.x86_64
  • 检查aufs是否存在
grep aufs /proc/filesystems
nodev     aufs

4、安装相应的epel源

wget http://ftp.riken.jp/Linux/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm
rpm -ivh  epel-release-6-8.noarch.rpm

使用yum安装docker

yum -y install docker-io

启动docker

启动docker进程:service docker start
查看docker进程:ps -ef |grep docker

[root@localhost ~]# service docker start
Starting docker (via systemctl):                           [  OK  ]
[root@localhost ~]# ps -ef |grep docker
root       1107      1  0 11:41 ?        00:00:00 /usr/bin/docker -d
root       2407   2254  0 11:51 pts/0    00:00:00 grep --color=auto docker

docker命令使用

  1. 使用docker运行centos镜像并输出hello world
docker run centos /bin/bash echo "hello world"
  1. docker 运行交互式的容器
docker run -i -t centos /bin/bash 

此时用户会话进入了docker容器内部。输入exit并不会影响当前的centos,而是退出docker容器会话,并且docker容器还是在后台会运行

  • 通过exec命令进去docker环境
docker exec -it ID /bin/bash
  1. 启动容器的后台模式
[root@localhost ~]# docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
1812d56ff928e0f1d3ba89ecbaab41b590ca4519b0f365d67e1919613667c63f

此时,输出的是一个长字符串“[root@localhost ~]# docker run -d centos /bin/sh -c "while true; do echo hello world; sleep 1; done"
1812d56ff928e0f1d3ba89ecbaab41b590ca4519b0f365d67e1919613667c63f”,这个是容器ID

  • 可以使用docker ps命令查看容器运行情况

docker ps -a 列出所有的docker容器,参考"docker ps --help"命令,查看ps的帮助信息

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
1812d56ff928        centos              "/bin/sh -c 'while t   6 minutes ago       Up 6 minutes                            clever_pare   
  • 查看容器内的标准输出,使用命令 docker logs 容器ID/NAME
docker logs 1812d56ff928
docker logs clever_pare

可以看到控制台输出了hello world

  • 停止容器 docker stop ID/NAME
# 使用id停止容器
docker stop 1812d56ff928
# 使用name停止容器
docker stop clever_pare

你可能感兴趣的:(docker构建微服务 入门篇)