新聞中心
Docker是一種開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器或Windows機(jī)器上,也可以實(shí)現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口,下面我們來(lái)詳細(xì)了解一下Docker的使用方法。

一、安裝Docker
1. 訪問Docker官網(wǎng)()下載對(duì)應(yīng)操作系統(tǒng)的Docker安裝包。
2. 根據(jù)操作系統(tǒng)的不同,選擇相應(yīng)的安裝教程進(jìn)行安裝,以Linux系統(tǒng)為例,可以使用以下命令安裝Docker:
sudo apt-get update sudo apt-get install docker-ce docker-ce-cli containerd.io
3. 安裝完成后,啟動(dòng)Docker服務(wù):
sudo systemctl start docker
4. 設(shè)置Docker開機(jī)自啟:
sudo systemctl enable docker
二、運(yùn)行Docker容器
1. 使用`docker run`命令運(yùn)行一個(gè)新的容器,運(yùn)行一個(gè)基于Ubuntu鏡像的容器:
docker run -it --name my_container ubuntu:latest /bin/bash
2. `-it`參數(shù)表示交互式運(yùn)行容器,并分配一個(gè)偽終端;`–name`參數(shù)為容器指定一個(gè)名稱;`ubuntu:latest`表示使用最新版本的Ubuntu鏡像;`/bin/bash`表示在容器內(nèi)執(zhí)行`/bin/bash`命令。
3. 在容器內(nèi),可以使用`pwd`命令查看當(dāng)前目錄,使用`ls`命令查看文件列表等,要退出容器,可以在容器內(nèi)輸入`exit`命令。
三、管理Docker容器
1. 列出所有正在運(yùn)行的容器:
docker ps
2. 列出所有已停止的容器:
docker ps -a
3. 啟動(dòng)一個(gè)已停止的容器:
docker start my_container
4. 停止一個(gè)正在運(yùn)行的容器:
docker stop my_container
5. 刪除一個(gè)容器:
docker rm my_container
四、創(chuàng)建和使用Dockerfile
1. 在項(xiàng)目根目錄下創(chuàng)建一個(gè)名為`Dockerfile`的文件,這個(gè)文件用于定義Docker鏡像的構(gòu)建過(guò)程,創(chuàng)建一個(gè)基于Node.js鏡像的項(xiàng)目:
# 基于官方Node.js鏡像作為基礎(chǔ)鏡像 FROM node:14-alpine as build-stage # 設(shè)置工作目錄為/app WORKDIR /app # 將package.json和package-lock.json復(fù)制到工作目錄 COPY package*.json ./ # 安裝項(xiàng)目依賴 RUN npm install # 將項(xiàng)目代碼復(fù)制到工作目錄 COPY . . # 從build-stage階段切換到最終階段 FROM node:14-alpine # 將工作目錄設(shè)置為/app WORKDIR /app # 將項(xiàng)目依賴從build-stage階段復(fù)制過(guò)來(lái) COPY --from=build-stage /app/node_modules/ ./node_modules # 將項(xiàng)目代碼復(fù)制到工作目錄 COPY . .
2. 在項(xiàng)目根目錄下運(yùn)行以下命令構(gòu)建Docker鏡像:
docker build -t my_nodejs_app:latest .
3. 運(yùn)行Docker容器:
“`bash
docker run –name my_nodejs_app my_nodejs_app:latest npm start & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait %1 || echo “Process exited” >&2; exit %1; wait $! & disown %1 && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2; exit $!; wait $! & disown $! && sleep infinity & wait $! || echo “Process exited” >&2: exit $$; exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2 & exec tail –pid=$PPID +0 >> logs/my_nodejs_app.log 2>&1 &2 & exec kill $$ >&2
當(dāng)前標(biāo)題:docker怎么用
URL地址:http://fisionsoft.com.cn/article/ccdoied.html


咨詢
建站咨詢
