Docker 初步试玩

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

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

安装

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

我们使用Terminal进入Docker

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

➜ ~ 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

➜ ~ docker info

Containers: 0

Running: 0

Paused: 0

Stopped: 0

...

试玩

比如从官方获取centos 7

1
2

~ docker pull centos:7

查看获取的系统

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

➜ ~ docker images

REPOSITORY TAG IMAGE ID CREATED SIZE

centos 7 8596123a638e 2 days ago 196.7 MB

```

运行

```bash

➜ ~ docker run -it centos:7

[root@950a6fcf0182 /]#

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

1
2
3
4
5
6
7
8

[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

[root@950a6fcf0182 /]# exit

查看刚刚运行的Docker

1
2
3
4
5
6

➜ ~ 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

➜ ~ 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

➜ ~ docker login

上传镜像

1
2

~ docker push whyliam/centos-nodejs:1.0

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


WHY·LIAM wechat
记录生活,研究产品,分享设计,分析数据,讨论科技和商业,不定期扯淡。
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!