课程内容
docker
安装docker-ce
centos安装docker以及docker-compose | ziWindlu的博客
使用apt包管理器的发行版
1 | 添加公钥 |
特殊的,如果你使用的kalilinux,那么在添加仓库这一步需要将
"$(. /etc/os-release && echo "$VERSION_CODENAME")"替换为buster
普通权限用户便捷地执行docker
方案1使用sudo无需输入密码
编辑你的sudoers
user_name ALL=(root:root) NOPASSWD: /bin/docker
这样你就可以愉快的sudo docker啦
方案2加入docker用户组(好用,推荐)
1 | usermod -aG docker $USER |
这样你就可以愉快的使用docker啦,不用使用sudo哦
docker添加代理
编辑/etc/docker/daemon.json配置docker的代理
1 | { |
重启docker
1 | systemctl daemon-reload |
使用
概念
容器(CONTAINER)、镜像(IMAGE)
镜像相关操作
搜索镜像docker search IMAGE
拉取镜像docker pull IMAGE
创建
docker run [options] IMAGE [command [args]]
| 参数 | 说明 | 举例 |
|---|---|---|
-d |
以守护程序运行(后台运行) | |
-v |
创建挂载绑定 | docker run -v /host/path:/container/path IMAGE |
-p |
端口映射 | docker run -p host_port:container_port IMAGE |
--name |
指定容器名 | docker -run --name container_name IMAGE |
--restart |
重启策略 | 常用的always,no |
-e |
设置环境变量 | docker run -e ENV_KEY="env_value" IMAGE |
--rm |
容器退出后删除 | docker run --rm busybox ping baidu.com |
修改
docker update [options] CONTAINER [CONTAINERS]
删除
删除容器docker rm CONTAINER
删除镜像docker rmi IMAGE
打包与导入
镜像
打包:docker save -o xx.tar IMAGE
导入:docker load -i xx.tar
容器
打包:docker export -o xx.tar CONTAINER
导入:docker import xx.tar IMAGE
docker网络
TODO [[docker网络]]
日志
docker logs -f CONTAINER
docker添加kitty集成
step1:将kitten可执行文件放到docker的/bin或其他可执行目录中
step2:接下来愉快的执行docker exec -it container_name kitten run-shell --shell=/path/to/shell啦
散碎的知识点
实例&&作业
使用docker启动一个nginx
寻找可用镜像
在dockerhub中搜索ngnix

我们使用官方镜像
拉取镜像

创建docker容器
nginx文档给出了一个简单的命令

测试
在目录下创建一个index.html
{:height 132, :width 687}
访问localhost:8080

id:: 673d78e0-9c74-47bd-b3eb-5f9e34550dff
使用docker搭建lamp+dvwa
拉取lamp
docker pull mattrayner/lamp:latest-1804

启动容器
docker run -p "80:80" -v ${PWD}/app:/app mattrayner/lamp:latest-1804

我们发现了mysql的密码

下一步我们要修改mysql密码,我们直接使用phpmyadmin,账号为admin,密码为mysql的密码


下载dvwa源码并传到目标服务器

解压并复制一份dvwa配置


修改dvwa数据库配置

在网页端初始化dvwa

