30天web实践1-docker

本文介绍了如何在Ubuntu 14.04环境下使用Docker安装Node.js,并创建了一个简单的Node.js应用程序镜像。通过Dockerfile配置文件,实现了一键构建包含Express框架的应用程序容器。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一上午的时间看文档,发现docker功能还真多。。
草稿太难看了 就简单说下建立过程

安装

环境 Ubuntu Trusty 14.04 (LTS) (64-bit)

$ sudo apt-get update
$ sudo apt-get install docker.io
$ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker
$ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io

测试

sudo docker run -i -t ubuntu /bin/bash

你发现进入另一个系统,你就成功了

安装node。js并制作镜像

偷懒下

half@half-All-Series:~/src$ pwd
/home/half/src
half@half-All-Series:~/src$ ls
Dockerfile  package.json  server.js
half@half-All-Series:~/src$ cat package.json 
{
  "name": "mada0",
  "private": true,
  "version": "0.0.1",
  "description": "Node.js Hello world app on CentOS using docker",
  "author": "Daniel Gasienica <daniel@gasienica.ch>",
  "dependencies": {
    "express": "4.8.5"
  }
}
half@half-All-Series:~/src$ cat server.js 
var express = require('express');

// Constants
var PORT = 8080;

// App
var app = express();
app.get('/', function (req, res) {
  res.send('Hello world\n');
});

app.listen(PORT);
console.log('Running on http://localhost:' + PORT);
half@half-All-Series:~/src$ cat Dockerfile 
FROM node

ADD . /home/half/src
WORKDIR /home/half/src

# install your application's dependencies
RUN npm install

# replace this with your application's default port
EXPOSE 8888

# replace this with your main "server" script file
CMD [ "node", "server.js" ]

制作image

half@half-All-Series:~/src$ sudo docker build -t halfming/mada0 .

漫长的等待之后

half@half-All-Series:~/src$ sudo docker images
[sudo] password for half: 
REPOSITORY          TAG                 IMAGE ID                       CREATED             VIRTUAL SIZE
halfming/mada0      latest              ba4823af39af        35 seconds     ago      866.7 MB
node                0.11.13-onbuild     7ca564a2aaa2        2 weeks ago       

查看

half@half-All-Series:~/src$ sudo docker ps
CONTAINER ID        IMAGE                   COMMAND             CREATED             STATUS              PORTS                               NAMES
2d78f5763f33        halfming/mada0:latest   node server.js      18 seconds ago      Up 17 seconds       0.0.0.0:49160->8080/tcp, 8888/tcp   cocky_morse  

端口49160 127.0.0.1:49160 看下有没有成功

收尾

给个tag

half@half-All-Series:~/src$ sudo docker tag ba4823af39af halfming/mada0:init
half@half-All-Series:~/src$ sudo docker images halfming/mada0
REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
halfming/mada0      latest              ba4823af39af        26 minutes ago      866.7 MB
halfming/mada0      init                ba4823af39af        26 minutes ago      866.7 MB

push到服务器。。
half@half-All-Series:~/src$ sudo docker push halfming/mada0

比想象的麻烦多了 明天geoman harp

[root@RScloud-europe01-test data]# sudo find / -type f -size +1G -exec ls -lh {} \; 2>/dev/null -r-------- 1 root root 128T Jun 6 08:43 /proc/kcore -rw-r----- 1 root root 1.1G Jun 3 11:46 /var/lib/docker/containers/b4d5c657b5b59aa6b1cc6655a1992ab43c99a9f617bba99cf4de52c52e90fd3a/b4d5c657b5b59aa6b1cc6655a1992ab43c99a9f617bba99cf4de52c52e90fd3a-json.log -rw-r----- 1 root root 9.1G Jun 3 10:13 /var/lib/docker/containers/32a53ae2fb9fb7c3a24d71843c2cf7923547fb0bbe723117c8239fad56bcf432/32a53ae2fb9fb7c3a24d71843c2cf7923547fb0bbe723117c8239fad56bcf432-json.log -rw-r----- 1 root root 6.1G Jun 3 11:46 /var/lib/docker/containers/f54bb3a1e11165df8f6db93186334d72dc90df78f273183465a20b79c6f06135/f54bb3a1e11165df8f6db93186334d72dc90df78f273183465a20b79c6f06135-json.log -rw-r----- 1 root root 1.1G Jun 3 11:46 /var/lib/docker/containers/5ef44f9f6f2a5cfd885671a21ece406e6470161ea51e698ad7806305ecfa0023/5ef44f9f6f2a5cfd885671a21ece406e6470161ea51e698ad7806305ecfa0023-json.log -rw-r----- 1 polkitd input 2.0G Jun 6 08:43 /data/mysql-utc/data/xxl_job/xxl_job_log.ibd -rw------- 1 root root 1.4G May 27 11:49 /data/docker-images/web-db-images.tar -rw------- 1 root root 1.1G May 27 11:49 /data/docker-images/db-images.tar -rw-r----- 1 root root 3.9G Jun 6 08:12 /data/docker/containers/246f04f153d9c015cf236bee0330b32e4e3a9a75f85ea7b95a650d7c2d4119d9/246f04f153d9c015cf236bee0330b32e4e3a9a75f85ea7b95a650d7c2d4119d9-json.log -rw-r----- 1 root root 1.2G Jun 6 08:12 /data/docker/containers/e2744bd059ab905d084afd65ec76e668fd271fb125a81d935f26611be47f605c/e2744bd059ab905d084afd65ec76e668fd271fb125a81d935f26611be47f605c-json.log -rw-r----- 1 root root 37G Jun 6 08:12 /data/docker/containers/66ca1cdeb2ddfd009662f3d5bd70d316e3e2e0a176f074d08535fe3028643b4e/66ca1cdeb2ddfd009662f3d5bd70d316e3e2e0a176f074d08535fe3028643b4e-json.log -rw-r----- 1 root root 26G Jun 6 08:12 /data/docker/containers/b0ee40c81b6170bef61266191e3bb519347b4a6b9a94162f1ff04fdbea7f16fb/b0ee40c81b6170bef61266191e3bb519347b4a6b9a94162f1ff04fdbea7f16fb-json.log -rw-r----- 1 root root 1.2G Jun 6 08:43 /data/docker/containers/ae278a95415a7854f8489adcae42bf0f838734f6daacb2d101f2ae76b67a9e15/ae278a95415a7854f8489adcae42bf0f838734f6daacb2d101f2ae76b67a9e15-json.log -rw-r----- 1 root root 3.4G Jun 6 08:43 /data/docker/containers/8837a5268f9bf29345ad86ade5ed08c5b37c583cae71ea14cbb8a321b18003cd/8837a5268f9bf29345ad86ade5ed08c5b37c583cae71ea14cbb8a321b18003cd-json.log -rw------- 1 root root 208G Jun 3 13:51 /data/docker/overlay2/l/URWONCFYO7SRQFFD7XW555JBUB/dev/core怎么去清理,不影响服务
06-07
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值