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