docker的简单使用
docker的使用:
1,安装docker
1 | sudo apt-get install docker |
1 | sudo apt install docker-compose |
1 | sudo docker version |
2,docker的使用
1 | docker-compose pull |
1 | docker-compose up -d |
1 |
|
1 | 显示docker版本和信息: |
1 | 列出镜像列表: |
3,dvwa靶场的安装:
可以使用docker search 关键字
,输入你想找的镜像,然后再pull下来,这里我选择citizenstig/dvwa
1 | docker pull citizenstig/dvwa |
创建容器(此处命名将容器命名为dvwa):
1 | docker run --name dvwa -d -p 9001:80 citizenstig/dvwa |
访问该地址后,先初始化数据库。点击Create/Reset Database 即可。
上述启动容器也可以通过docker-compose启动配置文件:
要将命令 docker run --name dvwa -d -p 9001:80 citizenstig/dvwa
转换为 docker-compose
的配置文件,你可以创建一个名为 docker-compose.yml
的文件,并在其中定义服务。以下是等价的 docker-compose.yml
配置示例:
1 | version: '3.8' # 指定 docker-compose 文件的版本,这个可以删掉version可能不兼容 |
说明:
version
: 指定了 Docker Compose 文件的版本。services
: 定义了一个或多个服务,这里我们定义了一个名为dvwa
的服务。image
: 指定使用的 Docker 镜像。ports
: 映射主机的 9001 端口到容器的 80 端口。container_name
: 指定容器名称为dvwa
。restart
: 可选项,设置容器在停止后自动重启的策略(在这里是unless-stopped
,即除非手动停止)。
启动服务
将上述内容保存到 docker-compose.yml
文件后,使用以下命令启动服务:
1 | docker-compose up -d |
这条命令会在后台启动 dvwa
服务,与你的 docker run
命令等效。
4,容器的关闭
要关闭正在运行的 Docker 容器,你可以使用以下步骤:
查看正在运行的容器: 首先,你可以使用以下命令查看所有正在运行的 Docker 容器:
1
docker ps
停止容器: 使用
docker stop
命令停止指定的容器。你需要提供容器的 ID 或名称。假设你要停止的容器 ID 是abc123
,你可以运行:1
docker stop abc123
你也可以使用容器的名称:
1
docker stop 容器名称
强制停止容器(可选): 如果容器没有响应,可能需要强制停止它,可以使用以下命令:
1
docker kill abc123
确认容器已停止: 再次使用
docker ps
命令查看正在运行的容器,确认你的容器已经不在列表中。
通过这些步骤,你就可以成功关闭正在运行的 Docker 容器。
5,进入与退出docker环境虚拟终端:
进入docker虚拟终端:
进入容器方式一:
docker exec -it 容器名/容器ID /bin/bash
1 | docker exec -it dvwa2 /bin/bash |
进入容器方式二: 推荐使用 exec 方式
docker attach 容器名/容器ID
退出docker虚拟终端:
从容器内 退出到自己服务器中 需注意 两个退出命令的区别
退出容器方式一:
exit
#直接退出 未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭
退出容器方式二:推荐
Ctrl + p + q
优雅退出 — 无论是否添加-d 参数 执行此命令容器都不会被关闭
6,当你修改docker拉取源后需要重新加载docker
当你看到这个警告信息时,说明Docker的服务配置文件或其依赖文件发生了变化。你需要重新加载systemd的配置,以便这些变化生效。可以按照以下步骤操作:
1. 重新加载systemd配置
首先,运行以下命令以重新加载systemd的配置:
1 | sudo systemctl daemon-reload |
2. 重启Docker服务
然后,你可以重新启动Docker服务:
1 | sudo systemctl restart docker |
3. 检查Docker服务状态
最后,检查Docker服务的状态,确保其正常运行:
1 | sudo systemctl status docker |
通过这些步骤,你应该能够成功地使新的配置生效并重启Docker服务。
7,docker容器间文件的复制
\#docker cp 容器ID/名称:文件路径 要拷贝到外部的路径 | 要拷贝到外部的路径 容器ID/名称:文件路径
容器文件拷贝 —无论容器是否开启 都可以进行拷贝
1 | #从容器内 拷出 |
举例如下:
1 | #容器内拷出 |