docker怎么用

Docker是一种开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化,容器是完全使用沙箱机制,相互之间不会有任何接口,下面我们来详细了解一下Docker的使用方法。

一、安装Docker

1. 访问Docker官网()下载对应操作系统的Docker安装包。

2. 根据操作系统的不同,选择相应的安装教程进行安装,以Linux系统为例,可以使用以下命令安装Docker:

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io

3. 安装完成后,启动Docker服务:

sudo systemctl start docker

4. 设置Docker开机自启:

sudo systemctl enable docker

二、运行Docker容器

1. 使用`docker run`命令运行一个新的容器,运行一个基于Ubuntu镜像的容器:

docker run -it --name my_container ubuntu:latest /bin/bash

2. `-it`参数表示交互式运行容器,并分配一个伪终端;`–name`参数为容器指定一个名称;`ubuntu:latest`表示使用最新版本的Ubuntu镜像;`/bin/bash`表示在容器内执行`/bin/bash`命令。

3. 在容器内,可以使用`pwd`命令查看当前目录,使用`ls`命令查看文件列表等,要退出容器,可以在容器内输入`exit`命令。

三、管理Docker容器

1. 列出所有正在运行的容器:

docker ps

2. 列出所有已停止的容器:

docker ps -a

3. 启动一个已停止的容器:

docker start my_container

4. 停止一个正在运行的容器:

docker stop my_container

5. 删除一个容器:

docker rm my_container

四、创建和使用Dockerfile

1. 在项目根目录下创建一个名为`Dockerfile`的文件,这个文件用于定义Docker镜像的构建过程,创建一个基于Node.js镜像的项目:

# 基于官方Node.js镜像作为基础镜像
FROM node:14-alpine as build-stage 
  # 设置工作目录为/app 
  WORKDIR /app 
  
  # 将package.json和package-lock.json复制到工作目录 
  COPY package*.json ./ 
  
  # 安装项目依赖 
  RUN npm install 
  
  # 将项目代码复制到工作目录 
  COPY . . 
  
  # 从build-stage阶段切换到最终阶段 
  FROM node:14-alpine 
  
  # 将工作目录设置为/app 
  WORKDIR /app 
  
  # 将项目依赖从build-stage阶段复制过来 
  COPY --from=build-stage /app/node_modules/ ./node_modules 
  
  # 将项目代码复制到工作目录 
  COPY . . 

2. 在项目根目录下运行以下命令构建Docker镜像:

docker build -t my_nodejs_app:latest .

3. 运行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

分享文章:docker怎么用
分享URL:http://www.shufengxianlan.com/qtweb/news25/362725.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联