GNU/Linux >> Belajar Linux >  >> Panels >> Docker

Langkah pertama dengan Docker setelah instalasi

Setelah Anda menyelesaikan instalasi Docker, Anda akan memiliki jendela baru yang akan memandu Anda melalui langkah pertama membuat image dan container dengan Docker:

Ini adalah cara menarik untuk mempercepat Anda mengunduh gambar pertama dan menjalankannya sebagai penampung.

Anda dapat menjalankan perintah di terminal di sebelah kanan bawaan aplikasi ini, tetapi saya lebih suka menjalankannya di shell saya sendiri.

Saya membuka Terminal macOS, jalankan cd dev untuk masuk ke dev rumah saya folder, dan saya membuat docker subdirektori, tempat saya akan meng-host semua eksperimen Docker. Saya menjalankan cd docker untuk masuk ke dalamnya, lalu saya jalankan

git clone https://github.com/docker/getting-started

Perintah ini membuat getting-started baru folder dengan isi repositori https://github.com/docker/getting-started :

Sekarang dari folder ini, jalankan perintah docker build dengan cara ini:

docker build -t docker101tutorial .

Ini akan membuat gambar dari konten folder saat ini tempat Anda berada, dengan nama tag docker101tutorial .

Ini adalah file Docker

*# Install the base requirements for the app.*
*# This stage is to support development.*
FROM python:alpine AS base
WORKDIR /app
COPY requirements.txt .
RUN pip install -r requirements.txt

*# Run tests to validate app*
FROM node:12-alpine AS app-base
WORKDIR /app
COPY app/package.json app/yarn.lock ./
RUN yarn install
COPY app/spec ./spec
COPY app/src ./src
RUN yarn test

*# Clear out the node_modules and create the zip*
FROM app-base AS app-zip-creator
RUN rm -rf node_modules && \
    apk add zip && \
    zip -r /app.zip /app

*# Dev-ready container - actual files will be mounted in*
FROM base AS dev
CMD ["mkdocs", "serve", "-a", "0.0.0.0:8000"]

*# Do the actual build of the mkdocs site*
FROM base AS build
COPY . .
RUN mkdocs build

*# Extract the static content from the build*
*# and use a nginx image to serve the content*
FROM nginx:alpine
COPY --from=app-zip-creator /app.zip /usr/share/nginx/html/assets/app.zip
COPY --from=build /app/site /usr/share/nginx/html

Seperti yang Anda lihat, itu membuat gambar kita tidak hanya dari satu, tetapi 3 gambar dasar:python:alpine , node:12-alpine dan nginx:alpine .

Saat Anda menjalankan docker build -t docker101tutorial . , itu akan dimulai dengan mengunduh gambar dasar pertama:

Kemudian ia akan menjalankan semua perintah yang kita definisikan di Dockerfile.

Itu terus berlanjut sampai kita mencapai akhir:

Sekarang kita memiliki gambar docker101tutorial dan kita dapat menjalankan container berdasarkan gambar ini.

Jalankan perintah docker run dengan atribut tersebut:

docker run -d -p 80:80 --name docker-tutorial docker101tutorial

Kami menggunakan opsi -d untuk menjalankan wadah di latar belakang dan mencetak ID wadah. Jika Anda melewatkan tanda ini, Anda tidak akan langsung kembali ke shell sampai container keluar (tetapi jika container tersebut berumur panjang, misalnya menjalankan layanan seperti aplikasi Node atau semacamnya, container tidak akan keluar secara otomatis).

-p option digunakan untuk memetakan port 80 container ke mesin host port 80. Container mengekspos server Web pada port 80, dan kita dapat memetakan port di komputer kita ke port yang diekspos oleh container.

--name memberikan nama ke wadah, dan akhirnya kami memiliki nama gambar (docker101tutorial ) yang harus kita gunakan untuk membuat wadah.

Jika Anda ragu tentang opsi perintah, jalankan docker <command> --help , dalam hal ini docker run --help dan Anda akan mendapatkan penjelasan yang sangat detail:

Perintah ini sangat cepat dan Anda akan mendapatkan ID penampung kembali:


Docker
  1. Pertama kali dengan Linux:30 kisah instalasi

  2. Langkah Instalasi CentOS 7 dengan Tangkapan Layar

  3. Langkah Pertama Setelah Mendapatkan CentOS VPS

  1. Langkah Instalasi Fedora 21 Desktop dengan Tangkapan Layar

  2. Langkah Instalasi Ubuntu 15.04 (Vivid Vervet) dengan Tangkapan Layar

  3. Langkah Instalasi Fedora 23 Workstation dengan Tangkapan Layar

  1. Langkah Instalasi CentOS 8 dengan Tangkapan Layar

  2. Cara Menjalankan Jenkins Container sebagai Layanan Systemd dengan Docker

  3. Langkah Instalasi Fedora 24 Workstation dengan Tangkapan Layar