You are on page 1of 44

Security Level:

docker
docker
www.huawei.com

2016-03

Author/ Email: /sunyuan3@huawei.com


Version: V1.0(20YYMMDD)
HUAWEI TECHNOLOGIES CO., LTD.

2008-2014
linux build systemanalysis tools
workbench

2015-

OSdocker
ltpuser namespace
docker
<<docker>>

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

1.

2.

3.

4.

HUAWEI TECHNOLOGIES CO., LTD.

coding

docker

Huawei Confidential

1.docker

2.docker

3.docker

4.

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

->

->

->->

->

1.
2.
3.

bug

4.

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

1.
2.
3.
4.

HUAWEI TECHNOLOGIES CO., LTD.

bug

Huawei Confidential

Docker
Docker
Namespace, Cgroup,

Namespace

Pid:

Mount:

User:

Network:

Ipc:

HUAWEI TECHNOLOGIES CO., LTD.

ID

ID

System V IPC

POSIX

Huawei Confidential

Docker
Cgroups
1.

Cpuset

2.

Cpu

3.

Cpuacct

4.

Memory

5.

Blkio

6.

Devices

CPU
CPU
Cgroup CPU

block I/O

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

VM vs Docker

VM

Docker
//

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

docker

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

10

docker
(

1.

2.

3.

bug

4.
5.

Dockerfile

6.

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

11

docker
Build, Ship, and Run Any App, Anywhere

1.

2.

Docker

3.

3.10

4.
5.
6.

qemu

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

12

Docker

LTP

Web

ARM

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

13

Docker
Build Pipeline
Docker build step plugin
CloudBees Docker Build
and Publish plugin

Docker
Dockerfile

Docker Plugin

Docker
Docker

Kubernetes Plugin

Jenkins
KubernetesDocker
Jenkins

Docker Commons Plugin

Docker
API

# docker pull jenkins

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

14

docker

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

15

docker
1.
2.

Go
testing

go test
_test.go

3.

4.

HUAWEI TECHNOLOGIES CO., LTD.

go test -cover

Huawei Confidential

16

docker

# git clone https://github.com/docker/docker.git

# cd docker && make test

Target

test

test-unit

test-integration-cli

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

17

docker

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

18

docker
1.
2.
3.
4.
5.

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

19

docker

SDK

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

20

SDK
20

20
15

17

17
12

12

13

10

0
2014

2015

0
2014

2015

GCC

/bugfix

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

21

Docker
Docker

SDK
14
Facebook 2~3

62

58

56

HUTAF GoTest
SDK

62
3480

56

3
&

Ready 5

30

!5

10

!40

!9

15 !60+

5~10

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

22

Docker

TICC(

SVN

Docker

Agent

Agent

Agent

HUAWEI TECHNOLOGIES CO., LTD.

Agent

Agent

Docker Docker Docker

Linux
Server
Huawei Confidential

Agent

Docker

Agent
Docker Engine

Linux
Server

Docker

Agent
Docker Engine

Docker Engine

Docker Docker Docker

Agent

Agent

Agent

Docker Docker Docker

Linux
Server
23

Agent

Docker

5~10

Docker

VM

VM

VM

DVM

VM

DVM

DVM

DVM
DVM

DVM

DVM

OS

LXC

Docker

Docker

VM

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

24

docker

GoTest

1800+

56
1

/Bugfix

>>>

N-1

56

56

24

3~4
TR4A

TR4A

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

25

&
coreutils, glibc, libpcre, mktemp, passwd, sudo, tun-tap, acl, cpio,
grep, libssh2, mtd, pciutils, sysfsutils
Docker

cpu

docker

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

26

WebUI

+mesos+k8s

OS

ip
cpu
io

HUAWEI TECHNOLOGIES CO., LTD.

docker

Huawei Confidential

27

Docker

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

28

(1)
google

offer

(2)

sdk
associate engineer

engineer

senior engineer

(3)
HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

29

(1)

(2)userguide
Ltp:github
Docker:github
Kernel:
(3)Issues(bug)bug

(4)patch

(5)patch
(6)patch
(7)Patchmergereject
HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

30

Page 30

Docker

(1)Forkreporepo
(2)
(3) (gofmt -s -w ${some_files})
(4)patch:
git add ${some_files}
git commit -s -m "commit note" (git commit --amend -s --noedit)
git push -f origin master:${branch_name}
https://github.com/docker/docker/pull/11980
(5)pull request
HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

31

Page 31

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

32

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

33

Ltp
(1)git
(2)
warning
(3) git add newcase.c
git commit -s -m new case commit info
git format-patch -1
checkpatch.plpatch
(4)patch
git send-email --dry-run --to=jstancek@redhat.com --cc=ltplist@lists.sourceforge.net --bcc=pleasuresun@sina.com -bcc=sunyuan3@huawei.com --bcc=peifeiyue@huawei.com 0001containers-new-testcase-userns02.patch
(5)user namespaceltp

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

34

Page 34

User namespace
uid
root
1 https://lwn.net/Articles/532593/
2
3pid namespace
4

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

35

(1)maintainer
(2)maintainer
NO way.
I disagree with you.
In general, I agree with you. But in this case,
Maybe
Thanks && Many thanks && Thank you very much.
(3)patch

bug

(4)maintainer
(5)git
(6)patchpatch,
HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

36

Page 36

(6)maintainermaintainer

(7)patchircmaintainer
maintainer
(8)
(9)review

HUAWEI TECHNOLOGIES CO., LTD.

Huawei Confidential

37

Page 37

Docker

Docker
Docker


ICT
ICTNFV/SDNOS
Linux kernelDockermaintainerAPCI
committerLinux kernel
Docker

Linux

Docker///

x86arm 64
Docker/
Dockerbug fix

4Linux
Linuxnamespacecgroup
DockerDocker
/KurbernetesMesos

-Docker

18501294585/13732261657/
hr.kernel@huawei.com

-Docker

Docker
ICT
ICT

Linux
NFV/SDN

Linux kernel Docker


APCI
committer
Docker

Linux

/
1368361856913732261657

hr.kernel@huawei.com

maintainer
Linux kernel

Linux//

x86arm 64Linux
Linux

4Linux
Linux

Linux

Docker///

x86arm 64
Docker/
Dockerbug fix

4Linux
Linuxnamespacecgroup
DockerDocker
/KurbernetesMesos

20

Thank you
www.huawei.com
Copyright2011 Huawei Technologies Co., Ltd. All Rights Reserved.
The information in this document may contain predictive statements including, without limitation, statements regarding the future financial and
operating results, future product portfolio, new technology, etc. There are a number of factors that could cause actual results and developments to
differ materially from those expressed or implied in the predictive statements. Therefore, such information is provided for reference purpose only and
constitutes neither an offer nor an acceptance. Huawei may change the information at any time without notice.

You might also like