Change background image
LOVE quotion

Bắt đầu từ 4.53' thứ Hai ngày 17/10/2011


You are not connected. Please login or register

Xem chủ đề cũ hơn Xem chủ đề mới hơn Go down  Thông điệp [Trang 1 trong tổng số 1 trang]

Zone
Zone Ưu tú

Cấp bậc: Ưu tú

Bài viết : 834

Danh vọng : 1552

Uy tín : 0

Giới thiệu Docker

Docker - nền tảng mở dành cho các lập trình viên và quản trị hệ thống Docker10

Gần đây Docker đang được thảo luận và gây được nhiều chú ý trong cộng đồng công nghệ trên thế giới, với nhiều hứa hẹn trong tương lai. Các hãng công nghệ lớn như Google, Amazon, Microsoft, IBM … đã bắt đầu hỗ trợ Docker trên nền tảng của họ.

Vậy Docker là gì, có gì thú vị ? Bài viết này ghi lại ngắn những hiểu biết của người viết trong quá trình tìm hiểu về Docker, hi vọng sẽ giúp người đọc có một cái nhìn tổng quan về Docker . Cuối cùng sử dụng Docker để đóng gói và chạy một ứng dụng “Hello world !” Scala trên Play framework.

1. Docker là gì

. Định nghĩa

Docker là một nền tảng mở dành cho các lập trình viên, quản trị hệ thống dùng để xây dựng, vận chuyển và chạy các ứng dụng phân tán. Ban đầu viết bằng Python, hiện tại đã chuyển sang Go-lang.

.Các thành phần chính

– Docker Engine : là thành phần chính của Docker, như một công cụ để đóng gói ứng dụng
– Docker Hub : là dịch vụ cloud để chia sẻ ứng dụng và tự động hóa chuỗi các công việc liên tục, có thể thao tác pull/push với các images

. Một số khái niệm

Docker images : là một “read-only template”. Chẳng hạn, một image chứa hệ điều hành Ubuntu đã cài đặt sẵn Apache và ứng dụng web

– Docker registries : Là kho chứa images. Người dùng có thể tạo ra các images của mình và tải lên đây hoặc tải về các images được chia sẻ

– Docker container : hoạt động giống như một thư mục (directory), chứa tất cả những thứ cần thiết để một ứng dụng có thể chạy được. Mỗi một docker container được tạo ra từ một docker image. Các thao tác với một container : chạy, bật, dừng, di chuyển, và xóa

– Dockerfile : là một file chứa tập hợp các lệnh để Docker có thể đọc và thực hiện để đóng gói một image theo yêu cầu người dùng

– Orchestration : là các công cụ, dịch vụ dùng để điều phối và quản lý nhiều containers sao cho chúng làm việc hiệu quả nhất

2. So sánh Docker với Virtual machine

Docker - nền tảng mở dành cho các lập trình viên và quản trị hệ thống Luy7c5J  

Điểm khác biệt chính là các containers sử dụng chung kernel với Host OS nên các thao tác bật, tắt rất nhẹ nhàng, nhanh chóng.

. Ưu điểm : nhanh, nhẹ, có thể chia sẻ dễ dàng qua DockerHub
. Nhược điểm : mới, cập nhật thay đổi thường xuyên

3. Sử dụng Docker để đúng gói và chạy ứng dụng “Hello World” dùng Scala trên Play framework

. Cài đặt Docker daemon

Việc cài đặt khá đơn giản, tùy theo OS sẽ có cách cài đặt khác nhau, tham khảo thêm tại đây

Cài trên Ubuntu 14.04 :

1

2
sudo apt-get update
sudo apt-get install docker.io
. Viết Dockerfile

Viết Dockerfile để đóng gói 1 image trong đó đã cài đặt Play framework, ứng dụng “Hello world” Scala và môi trường.

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28
FROM ubuntu:14.04
MAINTAINER longlx <longlx@septeni-technology.jp>;
 
# Create play user, group
RUN groupadd play
RUN useradd play -m -g play -s /bin/bash
RUN passwd -d -u play
RUN echo "play ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/play
RUN chmod 0440 /etc/sudoers.d/play
 
# Install dependencies
RUN apt-get update
RUN apt-get install -y git build-essential curl
RUN apt-get install -y wget
RUN apt-get install -y zip unzip
 
# Install play
WORKDIR /tmp
RUN wget http://downloads.typesafe.com/play/2.2.6/play-2.2.6.zip
RUN unzip play-2.2.6.zip
RUN mv play-2.2.6 /home/play/play
 
# Install jdk, openjdk
RUN apt-get install -y default-jdk openjdk-7-jre
 
# Expose play framwork port 9000
EXPOSE 9000
CMD cd /home/play/play/samples/scala/helloworld && /home/play/play/play run
. Đóng gói image từ Dockerfile ở trên, chuyển tới thư mục chứa Dockerfile file và chạy lệnh

1
sudo docker build -t longlx/play-hello .
. Bật Docker Container

1
sudo docker run --rm -it -p 9000:9000 longlx/play-hello
Truy cập http://localhost:9000, điền thông tin và submit form :

Docker - nền tảng mở dành cho các lập trình viên và quản trị hệ thống Lk0tevY  

. Push image lên DockerHub


1
sudo docker push longlx/play-hello
. Từ một EC2 chạy ubuntu, chạy lệnh sau để Docker pull longlx/play-hello image từ DockerHub và bật conatianer lên


1
sudo docker run --rm -it -p 9000:9000 longlx/play-hello
Truy cập http://ec2-public-ip:9000, điền thông tin và submit form :

Docker - nền tảng mở dành cho các lập trình viên và quản trị hệ thống H8bXRG7  

4. “Use Case” cho môi trường phát triển

Có thể sử dụng docker trong môi trường phát triển phần mềm như mô hình dưới :

. Bước 1 : Lập trình viên sử dụng Docker trên máy local của mình, phát triển và đóng gói thành docker image, đẩy lên DockerHub

. Bước 2 : SQA có thể tải về image trên môi trường test, bật container và thực hiện việc test các tính năng

. Bước 3 : Nếu test thành công, có thể pull image và bật container trên môi trường production. Nếu việc test không thành công, SQA thông báo lại để lập trình viên kiểm tra lại (quay lại Bước 1)

Bài viết ghi lại những hiểu biết của người viết thu nhận được trong quá trình tìm hiểu và sử dụng Docker còn khá cơ bản. Rất mong nhận được góp ý của người đọc.
      
Zone
Zone Ưu tú

Cấp bậc: Ưu tú

Bài viết : 834

Danh vọng : 1552

Uy tín : 0

Docker và giấc mơ thương mại hóa bộ chứa ứng dụng

(PCWorldVN) Tuy là công ty khởi nghiệp nhưng thế mạnh của bộ chứa ứng dụng Docker chính là nguồn mở và tính chuẩn hóa so với bộ chứa ứng dụng riêng rẻ của các hãng lớn khác.

Docker - nền tảng mở dành cho các lập trình viên và quản trị hệ thống Dockercon2014-1
Docker đang muốn thương mại hóa giải pháp bộ chứa ứng dụng của mình.

Phần mềm Internet giúp cuộc sống "dễ thở" hơn cho hầu hết chúng ta, nhưng điều đó hoàn toàn trái ngược với người làm công nghệ thông tin vì phải luôn duy trì chúng vận hành và trực tuyến. Cho dù đó là một phần mềm được thiết kế để gọi taxi , kiểm tra thời tiết, tìm kiếm nghề nghiệp hay bất kỳ phần mềm nhỏ nào đi nữa thì phần mềm đó vẫn cần được kiểm lỗi thật kỹ, tinh chỉnh và cấu hình để có thể chạy được trong quá trình cập nhật hay mỗi khi có những thay đổi nhỏ nào.

Theo IDC, nhiều doanh nghiệp chi đến hơn 90% chi phí cho CNTT chỉ để giữ cho ứng dụng trực tuyến vận hành liên tục.

Lý do trên giải thích cho sự ra đời của Docker. Chỉ chưa đến 2 năm, phần mềm miễn phí của Docker đã trở thành một công cụ thiết yếu trong quy trình phát triển ứng dụng của hàng ngàn công ty. Docker hiện được Amazon, Google, IBM, Microsoft và VMware hỗ trợ.

Docker tự động sắp xếp lại mã nguồn cho các nhà lập trình thành những bộ chứa "container " ảo, có thể được cấu hình trước và được chuẩn hóa để chạy được trên hầu hết thiết lập phần cứng, tiết kiệm nhiều tuần, thậm chí nhiều tháng để đưa được ứng dụng ra công chúng. Docker trong thế giới phần mềm được ví hệt như những chiếc container chứa hàng ở thế giới thực.

Docker - nền tảng mở dành cho các lập trình viên và quản trị hệ thống Tech-docker52-01-970-630x420
Người sáng lập Docker, Solomon Hykes.

IBM, Google và vài công ty khác đã thiết kế và sử dụng các công nghệ đóng gói phần mềm (container) của riêng họ hàng nhiều năm qua, nhưng Solomon Hykes, nhà sáng lập Docker, mới là người đầu tiên thiết lập ra được chuẩn công nghiệp cho container. Anh làm điều đó bằng cách tạo ra một giao diện dễ dùng và bằng cách biến Docker  thành dự án nguồn mở, miễn phí cho các công ty công nghệ sử dụng, đóng góp mã nguồn để tạo ra phần mềm và dịch vụ mà họ có thể bán cho người dùng Docker. Mặc dù Hykes và CEO của Docker là Ben Golub vẫn chưa cho thấy được họ kiếm tiền bằng cách bán các phiên bản phần mềm Docker nhiều tính năng hơn (so với bản miễn phí) nhưng họ đã gây quỹ được đến 55 triệu USD vốn đầu tư.

Docker hiện được định giá ở mức hơn 400 triệu USD.

Theo IDC, phía sau Docker là có rất nhiều thứ vĩ đại, bởi vì Docker giải quyết được nhiều vấn đề mà ngành công nghiệp phần mềm từ lâu vấp phải.

Hykes, người Pháp, 30 tuổi, tốt nghiệp đại học ngành khoa học máy tính của Viện Công nghệ châu Âu, ấp ủ ý tưởng Docker trong khi anh làm một loạt công việc mà anh phải bỏ nhiều thời gian để viết đi viết lại phần mềm khởi chạy ứng dụng. Năm 2007, anh nghỉ việc có mức lương 40.000 USD/năm tại Los Angeles và dời về ở trong căn hầm nhà mẹ mình tại Paris để thực hiện một dự án với bạn bè. Sau đó, anh và một trong những người bạn thân đã chuyển đến San Francisco, Mỹ để làm cho một công ty khởi nghiệp. Rồi họ mở một công ty riêng tên là DotCloud, gây quỹ được 10 triệu USD và anh quyết định làm việc tại Mỹ. Một thành viên ban điều hành của Docker là Marc Vestraen, từng quản lý mảng kỹ thuật của Apple, cho rằng Hykes luôn bày tỏ ý muốn của anh ta.

DotCloud mạnh về mặt kỹ thuật nhưng lại gặp khó khăn trong việc tìm kiếm khách hàng, theo BusinessWeek.

Vào tháng 4/2013, Hykes công bố tại hội nghị PyCon rằng anh đã chuyển phần mềm Docker vào dự án nguồn mở. Chỉ trong vài giờ, hàng chục công ty bắt đầu thử nghiệm Docker và đóng góp mã nguồn để cải thiện nó. Các nhà lập trình trong hàng trăm công ty, từ những công ty nhỏ, khởi nghiệp cho đến Goldman Sachs đã tải mã nguồn miễn phí này đến hơn 77 triệu lượt.

Hàng triệu lượt tải về là một chuyện, nhưng thương mại hóa lại là chuyện khác.

Được biết, Docker hiện có 70 nhân viên và đạt doanh thu hằng năm khoảng 10 triệu USD.

Theo Luke Kanies, nhà sáng tạo hệ thống phần mềm nguồn mở  Puppet, vì có gốc là miễn phí nên giờ chuyển sang thương mại hóa sẽ khó khăn hơn cho Docker, bởi yếu tố mà người dùng yêu mến sản phẩm này chính là miễn phí.

Đối với Hykes, vấn đề này nổi lên rất rõ khi Docker thực hiện bước thương mại hóa sản phẩm đầu tiên vào ngày 4/12 vừa qua, là họ giới thiệu một dịch vụ đăng ký trực tuyến tên là Docker Hub Enterprise, nhắm đến việc quản lý "container" cho những công ty lớn.

Cùng ngày, CEO của CoreOS, Alex Polvi, tác giả của phần mềm máy chủ bán hàng, thiết kế để chạy tốt với Docker, đã đăng ý kiến trên trang blog của mình rằng mô hình kinh doanh của Docker chính là "lỗi nghiêm trọng" và ngành công nghiệp phần mềm nên hợp nhất lại phía sau phần mềm container mới của Alex là Rocket.

Giận giữ, Hykes đăng tải một loạt tweet đáp trả, gọi Rocket là "bản copy-paste của lộ trình thiết kế sản phẩm" của Docker và cho rằng CoreOS đang cố tạo ra một cuộc tranh luận. Nhưng sau đó, Hykes đã lên tiếng xin lỗi.

Nhà sáng lập Docker nói anh không ngại về một phần mềm cạnh tranh khác nhưng hiểu rằng mình cần thuyết phục các công ty tiếp tục đóng góp mã nguồn cho Docker và phát triển sản phẩm cho người dùng khi công ty bắt đầu cố sức tìm kiếm lợi nhuận.

Bùi Lê Duy - Nguồn: Businessweek
      
Zone
Zone Ưu tú

Cấp bậc: Ưu tú

Bài viết : 834

Danh vọng : 1552

Uy tín : 0

Câu chuyện cuối tuần: Chia sẻ một chút về Docker

Docker - nền tảng mở dành cho các lập trình viên và quản trị hệ thống Docker11

Xin chào các bạn, hôm nay mình trở lại với một bài viết chia sẻ cá nhân về Docker theo cách mình hiểu.

Đầu tiên mình nghĩ rằng nếu bình thường có thể dùng các tập tin bash shell để cài đặt cấu hình cho một server, VPS hay máy ảo mà không cần quá nhiều thao tác với các lệnh Linux đau đầu. Nhưng rồi theo gợi ý của anh giám đốc kỹ thuật giới thiệu mình đến với Docker. Sau một tuần tham khảo ví dụ và bài viết trên mạng mình rút ra một số hiểu biết sau.

Đầu tiên chúng ta sẽ phải cài đặt Docker lên máy chủ:

# sudo yum install -y docker

Khởi động docker:

# sudo service docker start

Sau khi khỏi động xong chúng ta có thể kiểm tra docker hoạt động được chưa bằng cách tải về một ảnh (image) Centos 7

# sudo docker pull centos 

Kiểm tra xem Server Centos đã được tải về chưa bằng lệnh 

# docker ps images

Nếu thấy có ảnh của Centos rồi thì chúng ta sẽ khởi động Centos lần đầu tiên bằng lệnh sau:

# docker run -it centos bash

Trong đó lệnh docker run để khởi động ảnh centos với tham số là it và lệnh bash ở cuối là câu lệnh sẽ chạy sau khi khởi động server centos. Nếu bạn chạy thành công thì chúng ta sẽ vào trong server centos của docker. Để trở về chúng ta dùng lệnh sau:

$ exit

Tiếp theo chúng ta sẽ tạo một image cài đặt sẵn server nginx của riêng mình. Đầu tiên chúng ta dùng trình soạn thảo nano tạo 1 tệp có tên là "Dockerfile"

# nano Dockerfile

Sau đó chúng ta copy nội dung theo phần dưới đây:

FROM centos

MAINTAINER techmaster.vn

RUN rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release- centos-7-0.el7.ngx.noarch.rpm

# Install base stuff.
RUN yum -y install nginx unzip
RUN echo "daemon off;" >> /etc/nginx/nginx.conf 

CMD /usr/sbin/nginx
# Define mountable directories.
VOLUME ["/etc/nginx/sites-enabled","/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"]

USER root

# Define working directory.

WORKDIR /etc/nginx

# Expose ports.
EXPOSE 80


RUN echo "Success"

Phân tích cấu trúc tệp Docker có bốn phần chính như sau:

- Thứ nhất là phần khai báo để docker tải về ảnh một hệ điều hành cơ sở cho image mình sẽ cài đặt. Ở đây mình dùng server centos bằng lệnh FROM centos. Lưu ý tên image bắt buộc phải viết chữ thường không được đặt tên bằng chữ hoa.

- Phần thứ hai là phần cài đặt bằng các lệnh mà ta phải chạy khi cài đặt.

Lệnh "RUN rpm -Uvh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release- centos-7-0.el7.ngx.noarch.rpm "

Sẽ cài đặt thông tin cài đặt nginx phiên bản mới nhất được cập nhật.

Lệnh "RUN yum -y install nginx " dùng để cài đặt nginx.

Lệnh "CMD /usr/sbin/nginx" sẽ là lệnh mặc định khi bạn chạy docker nếu không nhập lệnh vào cuối lệnh docker run như ví dụ trước.

- Phần thứ ba sẽ là các lệnh cấu hình cho server nginx.

Lệnh "USER root" là chuyển tài khoản người dùng sang tài khoản root tương đương với lệnh su - root nhưng bạn không cần phải nhập mật khẩu.

Lệnh VOLUME ["/etc/nginx/sites-enabled","/etc/nginx/conf.d", "/var/log/nginx", "/var/www/html"] để khai báo các thư mục nginx sẽ sử dụng.

Lệnh "WORKDIR /etc/nginx" sẽ chuyển đến thư mục /etc/nginx khi chạy tương đương lệnh cd /etc/nginx.

Lệnh "EXPOSE 80" khai báo cho docker biết bạn sẽ dùng cổng nào.

Sau đó chúng ta sẽ dùng lệnh sau để build ra một ảnh (image) mới. 

# docker build –t nginx .

Lệnh này sẽ thông báo cho docker tìm trong thư mục hiện tại "." xem có tệp Dockerfile không. Nếu có hãy tạo một ảnh mới theo các lệnh trong tệp đó. 

Chạy lệnh sau 

# docker run --name <tên phiên> -p 80:80 -d –it nginx

Để khởi động server nginx. Trong đó --name là không bắt buộc, tham số -p 80:80 là khai báo cổng docker và cổng máy chủ sẽ mở ở đây là cổng 80.

Vậy còn phần thứ tư là ở đâu? Ở đây bạn nhé. 

Nếu thêm tham số -v /path/on/host:/path/in/container thì docker sẽ dùng thư mục /path/on/host tương ứng với /path/in/container.

Sau khi build xong và chạy thành công chúng ta có thể đăng ký một tài khoản trên docker tại đây. https://docs.docker.com/docker-hub/ rồi tải lên đó ảnh chứa server centos và cài đặt sẵn nginx. 

# docker push yourname/newimage

Ở đây khi bạn build một image bạn nên build theo tên_tài_khoản/tên_image theo đúng đường dẫn trên docker-hub. Sau này bạn có thể tải về ảnh của bạn bằng lệnh:

# docker pull yourname/newimage

Khi chúng ta tạo quá nhiều image thì chúng ta cần dọn dẹp đĩa bằng hai lệnh sau:

# docker rm -f $(docker ps -a -q)    

//  Delete all images

# docker rmi –f $(docker images -q) 

Mình có đăng nội dung tệp Dockerbuild có chứa cài đặt nginx, postgresql và nodeJS tại đây. 

https://github.com/hidephong/demodocker

Trên đây là chút chia sẻ về những gì mình cảm nhận được từ thực hành của mình.
      
Zone
Zone Ưu tú

Cấp bậc: Ưu tú

Bài viết : 834

Danh vọng : 1552

Uy tín : 0

Docker là gì và khi nào thì sử dụng nó

Trong thời gian gần đây có rất nhiều bài báo, hay blog, và cả trên Twitter có rất nhiều người đề cập đến Docker. Vậy Docker là gì và tại sao nó hữu ích. 

Docker - nền tảng mở dành cho các lập trình viên và quản trị hệ thống Docker_banksy

Bạn đã nghe nói về Docker nhưng vẫn không hiểu nó là gì. Đừng lo, không chỉ có mình bạn không hiểu. Bài báo này sẽ giải thích Docker cho bạn với nhiều cách khác nhau.

Những hiểu lầm về Docker

Trước khi nói về Docker là gì, thì hãy nói về những điều mà Docker không phải. Giới hạn của Docker? Những điều mà Docker không thể làm?


  • Docker không phải là Linux Container (vd như LXC)
  • Docker không phải là công cụ quản lý các file config (vd: Chef, Puppet...)
  • Docker không phải là Paas
  • Docker không tốt lắm tại việc tách biệt các Linux Container (vd: khi bạn có nhiều máy ảo cùng trên một hệ thống)


Docker là gì?


  • Docker rất tốt tại việc xây dựng và chia sẻ Disk Image qua hệ thống Docker Index
  • Docker là một phần mềm quản lý cơ sở hạ tầng.
  • Docker làm việc tuyệt vời với các công cụ quản lý file config (vd: Chef, Puppet)
  • Docker sử dụng btrfs để giảm sát các file hệ thống và có thể được chia sẻ với user khác. (Như cách hoạt động của Git)
  • Docker có một bộ kho trung tâm của các Disk Images (có thể được public hoặc private), điều này cho phép bạn dễ dàng chạy trên nhiều hệ điều hành khác nhau (Ubuntu, Centos, Fedora, Gentoo).


Khi nào thì sử dụng Docker

Docker là một công cụ đơn giản, như Git hay Java, mà cho phép bạn kết hợp chặt chẽ tới công việc phát triển hay điều hành hàng ngày của bạn.


  • Sử dụng Docker như là một phần mềm quản lý phiên bản (version control system) cho toàn hệ điều hành của bạn.
  • Sử dụng Docker khi bạn muốn đóng góp hay hợp tác hệ điều hành của bạn với một nhóm nào đó.
  • Sử dụng Docker để chạy những dòng code trên laptop của bạn trong môi trường giống hệt như trên server của bạn.
  • Sử dụng Docker khi app của bạn cần trải qua nhiều giai đoạn khác nhau của quá trình phát triển.



Docker giống Java ở điểm nào

Java: viết một lần, và nó có thể chạy trên tất cả mọi hệ thống. Thì Docker cũng vậy. Chỉ có điều Java thì là code còn Docker là những dòng config.
Ví dụ: Java code viết như sau

class HelloWorldApp { public static void main(String[] args) { System.out.println("Hello World!"); } }

Docker viết trong Dockerfile như sau:

FROM ubuntu:13.10 ENV DEBIAN_FRONTEND noninteractive RUN apt-get update -qq -y && \ apt-get install curl -qq -y && \ apt-get clean RUN curl -sSL https://get.rvm.io | bash -s stable --ruby=2.1.1

Docker server cũng giống như JVM cho hệ thống.

Docker giống git ở điểm nào


Git cho phép bạn theo dõi những thay đổi của code theo thời gian. Thì Docker cũng như vậy. Nhưng thay vì theo dõi code thì Docker theo dõi những sự thay đổi của hệ điều hành.

Ví dụ: với Git

$ git init . $ touch README.md $ git add . $ git status On branch master Initial commit Changes to be committed: (use "git rm --cached ..." to unstage) new file: README.md $ git commit -am "Adding README.md" [master (root-commit) 78184aa] Adding README.md 1 file changed, 0 insertions(+), 0 deletions(-) create mode 100644 README.md $ git push Counting objects: 49, done. Delta compression using up to 4 threads. Compressing objects: 100% (39/39), done. Writing objects: 100% (49/49), 4.29 KiB | 0 bytes/s, done. Total 49 (delta 13), reused 0 (delta 0) To git@github.com:my/repo.git * [new branch] master -> master Branch master setup to track remote branch master from origin. $ git pull remote: Counting objects: 4, done. remote: Compressing objects: 100% (3/3), done. remote: Total 3 (delta 0), reused 0 (delta 0) Unpacking objects: 100% (3/3), done. From github.com:cardmagic/docker-ruby f98f3ac..4578f21 master -> origin/master Updating f98f3ac..4578f21 Fast-forward README.md | 3 +++ 1 file changed, 3 insertions(+) create mode 100644 README.md $ git whatchanged commit 78184aa2a04b4a9fefb13d534d157ef4ac7e81b9 Author: Lucas Carlson <lucas@rufy.com> Date: Mon Apr 21 16:46:34 2014 -0700 Adding README.md :000000 100644 0000000... e69de29...A README.md

Còn với Docker

$ MY_DOCKER=$(docker run -d ubuntu bash -c 'touch README.md; sleep 10000') $ docker diff $MY_DOCKER A /README.md C /dev C /dev/core C /dev/fd C /dev/ptmx C /dev/stderr C /dev/stdin C /dev/stdout $ docker commit -m "Adding README.md" $MY_DOCKER my/ubuntu 4d46072299621b8e5409cbc5d325d5ce825f788517101fe63f5bda448c9954da $ docker push my/ubuntu The push refers to a repository [my/ubuntu] (len: 1) Sending image list Pushing repository my/ubuntu (1 tags) 511136ea3c5a: Image already pushed, skipping Image 6170bb7b0ad1 already pushed, skipping Image 9cd978db300e already pushed, skipping de2fdfc8f7d8: Image successfully pushed Pushing tag for rev [de2fdfc8f7d8] on {https://registry-1.docker.io/v1/repositories/my/ubuntu/tags/latest} $ docker pull my/ubuntu Pulling repository my/ubuntu de2fdfc8f7d8: Download complete 511136ea3c5a: Download complete 6170bb7b0ad1: Download complete 9cd978db300e: Download complete $ docker history my/ubuntu IMAGE CREATED CREATED BY SIZE de2fdfc8f7d8 3 minutes ago bash -c touch README.md; sleep 10000 77 B 9cd978db300e 11 weeks ago /bin/sh -c#(nop) ADD precise.tar.xz in / 204.4 MB 6170bb7b0ad1 11 weeks ago /bin/sh -c #(nop) MAINTAINER Tianon Gravi

Kết luận

Các tính năng như 

docker push

 hay 

docker pull

 là điều rất tuyệt vời từ Docker. Sự thật là Docker đang dần thay đổi nhiều lập trình viên và đặc biệt là các admin cách làm việc của họ. Và cộng đồng Docker đang phát triển rất mạnh. Vậy hãy dành chút thời gian và thử dùng Docker và bạn sẽ cảm thấy sự tuyệt vời của Docker qua chính trải nghiệm của mình. Happy Hacking ..![
      
      

Xem chủ đề cũ hơn Xem chủ đề mới hơn Về Đầu Trang  Thông điệp [Trang 1 trong tổng số 1 trang]

Quyền hạn của bạn

Bạn không có quyền trả lời bài viết
free counters



  • Đoàn Ngọc Khánh

    mobile phone 098 376 5575


    Đỗ Quang Thảo

    mobile phone 090 301 9666


    Nguyễn Văn Của

    mobile phone 090 372 1401


    IP address signature
    Free forum | © PunBB | Free forum support | Liên hệ | Báo cáo lạm dụng | Thảo luận mới nhất