Docker 初步试玩

昨天调试完CodeshipEC2的连接后开始尝试,连接Docker

Docker之所以有用,是因为把代码从一个机器迁移到另一个机器经常是困难的。它尝试去使得软件迁移的过程变得更加可信和自动化。Docker 容器可以移植到所有支持运行 Docker 的操作系统上。

安装

简答一点,我直接安装 Docker Toolbox.

我们使用Terminal进入Docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

➜ ~ bash '/Applications/Docker Quickstart Terminal.app/Contents/Resources/Scripts/start.sh'
## .
## ## ## ==
## ## ## ## ## ===
/"""""""""""""""""\___/ ===
~~~ {~~ ~~~~ ~~~ ~~~~ ~~~ ~ / ===- ~~~
\______ o __/
\ \ __/
\____\_______/

docker is configured to use the default machine with IP 192.168.99.100

For help getting started, check out the docs at https://docs.docker.com

docker info来查看我们安装的Docker信息:

1
2
3
4
5
6
7
8
9
10
11
12
13

➜ ~ docker info

Containers: 0

Running: 0

Paused: 0

Stopped: 0

...

试玩

比如从官方获取centos 7

1
2
3

➜ ~ docker pull centos:7

查看获取的系统

1
2
3
4
5
6
7

➜ ~ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

centos 7 8596123a638e 2 days ago 196.7 MB

运行

1
2
3
4
5

➜ ~ docker run -it centos:7

[root@950a6fcf0182 /]#

随便安装一点东西,比如nodejs

1
2
3
4
5
6
7
8
9

[root@950a6fcf0182 /] #curl --silent --location https://rpm.nodesource.com/setup_4.x | bash -

[root@950a6fcf0182 /] #yum -y install nodejs gcc-c++ make

[root@950a6fcf0182 /]# node -v

v4.4.4

退出Docker

1
2
3

[root@950a6fcf0182 /]# exit

查看刚刚运行的Docker

1
2
3
4
5
6
7

➜ ~ docker ps -a

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

950a6fcf0182 centos:7 "/bin/bash" 4 minutes ago Exited (127) Less than a second ago naughty_yalow

使用commit命令用来将容器转化为镜像

1
2
3

➜ ~ docker commit -m "Added nodejs to centos 7" -a "whyliam" 950a6fcf0182 whyliam/centos-nodejs:1.0

commit -m "Added nodejs to centos 7" 参数用来来指定提交的说明信息

-a "whyliam" 用户信息

950a6fcf0182 代表的时容器的id

whyliam/centos-nodejs指定目标镜像的用户名、仓库名和 tag 信息

1.0 版本号

上传到 Docker Hub

登入Docker

1
2
3

➜ ~ docker login

上传镜像

1
2
3

➜ ~ docker push whyliam/centos-nodejs:1.0

然后我们可以去 Docker Hub 上查看,


The Why·Liam·Blog by WhyLiam is licensed under a Creative Commons BY-NC-ND 4.0 International License.

WhyLiam创作并维护的Why·Liam·Blog采用创作共用保留署名-非商业-禁止演绎4.0国际许可证

本文首发于Why·Liam·Blog (https://blog.naaln.com),版权所有,侵权必究。

本文永久链接:https://blog.naaln.com/2016/05/docker-preliminary-try/