[Docker系列·1] Docker第一步

简介: ###安装Docker Docker支持很多种宿主操作系统(详见[installation](https://docs.docker.com/installation/ )),这里以CentOS为例,简述安装: Docker使用EPEL发布,RHEL系的OS首先要确保已经持有EPEL仓库,否则先检查OS的版本,然后安装相应的EPEL包。 **6.5 yum安装** ```

安装Docker

Docker支持很多种宿主操作系统(详见[installation](https://docs.docker.com/installation/
)),这里以CentOS为例,简述安装:

Docker使用EPEL发布,RHEL系的OS首先要确保已经持有EPEL仓库,否则先检查OS的版本,然后安装相应的EPEL包。

6.5 yum安装

[erichan@localhost ~]$ cat /etc/redhat-release
CentOS release 6.5 (Final)

[erichan@localhost ~]$ sudo rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
[erichan@localhost ~]$ sudo yum update -y

yum是RHEL系横扫一切rpm安装的神器,6.5使用yum安装docker。

[erichan@localhost ~]$ sudo yum -y install docker-io
[erichan@localhost ~]$ docker version
Client version: 1.0.0
Client API version: 1.12
Go version (client): go1.2.2
Git commit (client): 63fe64c/1.0.0

7.0 bin安装

https://get.docker.io/builds/

# To install, run the following command as root:
curl -O https://get.docker.io/builds/Linux/x86_64/docker-1.1.2 && chmod +x docker-1.1.2 && sudo mv docker-1.1.2 /usr/local/bin/docker
# Then start docker in daemon mode:
sudo /usr/local/bin/docker -d

Docker第一步

安装好Docker后,首先要启动docker服务,然后就可以使用docker命令啦。

info命令

[erichan@localhost ~]$ sudo service docker start
[erichan@localhost ~]$ sudo docker info

Containers: 0
Images: 0
Storage Driver: devicemapper
 Pool Name: docker-253:0-921479-pool
 Data file: /var/lib/docker/devicemapper/devicemapper/data
 Metadata file: /var/lib/docker/devicemapper/devicemapper/metadata
 Data Space Used: 291.5 Mb
 Data Space Total: 102400.0 Mb
 Metadata Space Used: 0.7 Mb
 Metadata Space Total: 2048.0 Mb
Execution Driver: native-0.2
Kernel Version: 2.6.32-431.20.3.el6.x86_64

第一个完整流程

[erichan@localhost ~]$ sudo docker search fedora
NAME                                DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
fedora                              (Semi) Official Fedora base image.              59                   
……

[erichan@localhost ~]$ sudo docker pull fedora
Pulling repository fedora
64fd7993bcaf: Download complete
3f2fed40e4b0: Download complete
511136ea3c5a: Download complete
fd241224e9cf: Download complete

[erichan@localhost ~]$ sudo docker run -i -t fedora /bin/bash
2014/07/11 05:22:51 unable to remount sys readonly: unable to mount sys as readonly max retries reached
[erichan@localhost ~]$ sudo vim /etc/sysconfig/docker
other_args="--exec-driver=lxc”

[erichan@localhost ~]$ sudo service docker stop
Stopping docker:                                           [  OK  ]
[erichan@localhost ~]$ sudo service docker start
Starting docker:                                        [  OK  ]
[erichan@localhost ~]$ sudo docker run -i -t fedora /bin/bash
bash-4.2# exit
exit

运行长期执行的命令

[erichan@localhost ~]$ job=$(sudo docker run -d fedora /bin/bash -c "while true; do echo Hello world; sleep 1; done")
[erichan@localhost ~]$ sudo docker logs $job
Hello world
Hello world
Hello world

job这个进程是个无休止的进程,通过docker logs可以查看该进程的输出。

[erichan@localhost ~]$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND                CREATED             STATUS              PORTS               NAMES
460e436df5de        fedora:20           /bin/bash -c 'while    27 seconds ago      Up 27 seconds                           pensive_hoover     
[erichan@localhost ~]$ echo $job
460e436df5de494d3afb73e81fe1a362cd64f4810319937894b1f3f870de4f7d

可以看到,活着的这个进程的ID就是job。

[erichan@localhost ~]$ sudo docker kill $job
460e436df5de494d3afb73e81fe1a362cd64f4810319937894b1f3f870de4f7d
[erichan@localhost ~]$ sudo docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

杀掉该进程,docker中没有活的进程啦。

目录
相关文章
|
安全 Unix Linux
docker 系列:底层知识
Docker 采用的是 **C/S 架构**,使用 REST API、UNIX 套接字或网络接口进行通信。一般客户端会和 Docker 服务运行在同一台机子上,像我们平常使用的 docker build、pull、run 等命令就是发送到本地客户端上的,本地客户端再发送给 Docker 服务端。另外,客户端也可以独立部署,像 Docker Compose。
217 0
docker 系列:底层知识
|
数据可视化 关系型数据库 MySQL
《docker从零到壹》相关系列 目录
《docker从零到壹》相关系列 目录
138 0
|
Ubuntu 数据中心 开发者
[Docker系列·0] Docker101
###Docker是什么 [翻译自 whatisdocker](https://www.docker.com/whatisdocker/) >Docker is an open platform for developers and sysadmins to build, ship, and run distributed applications. Consisting of Docke
3664 1
|
程序员 虚拟化 Docker
Docker深入浅出系列——Docker简介
我是架构师张飞洪,钻进浩瀚代码,十年有余,人不堪其累,吾不改其乐。如果你和我的看法不一样,请关注我的头条号,我们一起奇闻共赏,疑义相析。 本节属于入门简介,从三个小方面进行简单介绍Docker。
1306 0
|
2天前
|
存储 Docker 容器
docker中挂载数据卷到容器
【10月更文挑战第12天】
14 5
|
7天前
|
存储 运维 云计算
探索Docker容器化:从入门到实践
在这个快速发展的云计算时代,Docker容器化技术正在改变应用的开发、部署和管理方式。本文旨在为初学者提供一个关于Docker的全面入门指南,并通过实践案例展示Docker在实际开发中的应用。我们将一起了解Docker的核心概念、基本操作、网络和存储,以及如何构建和部署一个简单的Web应用。无论你是开发者还是运维人员,本文都会帮助你快速掌握Docker的核心技能。
|
3天前
|
存储 测试技术 开发者
docker中将数据卷挂载到容器
【10月更文挑战第11天】
14 3
|
3天前
|
存储 应用服务中间件 云计算
深入解析:云计算中的容器化技术——Docker实战指南
【10月更文挑战第14天】深入解析:云计算中的容器化技术——Docker实战指南
15 1
|
8天前
|
运维 JavaScript 虚拟化
探索容器化技术:Docker的实践与应用
【10月更文挑战第9天】探索容器化技术:Docker的实践与应用
33 3
|
9天前
|
安全 Cloud Native Shell
云上攻防:云原生篇&Docker容器逃逸
本文介绍了Docker的基本概念及其对渗透测试的影响,重点讲解了容器逃逸的方法。Docker是一种轻量级的容器技术,与虚拟机相比,具有更高的便携性和资源利用率。然而,这也带来了安全风险,特别是容器逃逸问题。文章详细描述了三种常见的容器逃逸方法:不安全的配置、相关程序漏洞和内核漏洞,并提供了具体的检测和利用方法。此外,还介绍了几种特定的漏洞(如CVE-2019-5736和CVE-2020-15257)及其复现步骤,帮助读者更好地理解和应对这些安全威胁。
云上攻防:云原生篇&Docker容器逃逸