2022年11月的Docker基本操作备忘录

在我教别人如何使用Docker时的备忘录。我正在测试的是Mac环境。

想做的事情

查找以下内容并做笔记。

    • dockerの基本操作

 

    • Dockerfileの利用法(最低限)

 

    docker-composeの利用法(最低限)

Docker的安装

Docker的下载可以从这里开始。虽然成为收费项目了,但对于个人使用等等,基本上还是和以前一样。

Docker的基本操作

暂时先执行

尝试执行nginx。由于初始状态下本地没有镜像,所以将会下载并执行最新版本。

docker run --name www -d -p 8080:80 nginx

如果在这种状态下,你可以看到http://localhost:8080, 应该能看到Nginx的界面。

登录容器

docker exec -it www /bin/bash

我先用exit退出一下。

检查容器的运行状态

docker ps

如果要查看正在运行的容器,请使用docker ps -a命令。

停止容器

docker stop www

启动命令为docker start www

删除容器

docker rm www

只有处于非停止状态才能删除。

确认图像

docker images

删除图像

docker rmi nginx

使用Dockerfile

在实际工作中,几乎不会直接使用原始状态的图像。而是根据需要构建和使用定制的图像。在这个过程中,首先需要使用Dockerfile。

准备

在任意地方创建一个用于工作的档案和工作空间。

cd
mkdir docker-test
cd docker-test

touch Dockerfile default.conf index.html

Dockerfile 的中文解释是什么?

进行Dockerfile的编辑。
使用nginx,并且编写描述以复制本地的配置文件和HTML文件创建映像。

FROM nginx
COPY ./default.conf /etc/nginx/conf.d/
COPY ./index.html /var/www/html/

请到这里查看如何书写。

默认配置文件.default.conf

复制default.conf文件。

server {
    listen 80;
    charset UTF-8;

    location / {
        root /var/www/html;
        index index.html;
    }
}

我的意思是,将以下内容使用中文进行翻译:index.html

复制HTML。

Hello!

构建图像

当Dockerfile和所需的文件准备齐全后,尝试构建。

docker build -t my_nginx .

t给标签(名字)

核实图像

确认是否生成了图像。

docker images

从创建的镜像中运行容器

根据生成的图像尝试运行容器。

docker run --name my_www -d -p 8080:80 my_nginx

如果一切正常的话,尝试访问 http://localhost:8080。如果显示“Hello!”那就是没问题了。

使用Docker Compose

在实际工作中,Dockerfile通常用于配置单个镜像(容器),但往往会组合使用多个镜像。这时我们会用到docker-compose。

备好

暫時創建設定檔。

touch docker-compose.yml

docker-compose.yml 文件

为了避免给出多个选项,以下是对原文的中文同义表述:
由于我们不想仅限于定义一个服务,因此我们在nginx中尝试写下两个设置。
我们将使用自定义的nginx在8080端口启动,同时使用标准的nginx在8888端口启动。

version: '3'
services:
  my_nginx:
    build: .
    container_name: my_www
    ports:
      - "8080:80"
  nginx:
    image: nginx
    container_name: www
    ports:
      - "8888:80"

我的_nginx是使用Dockerfile构建的,而nginx是从现有的镜像启动的。

进行

执行up命令。添加-d参数后,会像Docker一样在后台运行。

docker-compose up -d

停止

停止时使用”down”。它将完成容器的删除工作。

docker-compose down
广告
将在 10 秒后关闭
bannerAds