centOS7安装
shell
yum install docker -y
systemctl start docker
systemctl enable docker
kali安装
shell
# 添加docker的gpg密钥,签名用的
curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/gpg | sudo apt-key add -
# 添加docker的清华大学apt镜像源
echo 'deb https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/debian/ buster stable' | sudo tee /etc/apt/sources.list.d/docker.list
# 更新apt缓存
apt update
# 安装docker
sudo apt-get install docker docker-compose -y
或
sudo apt-get install docker.io
# 安装完成后,docker就自启动了
systemctl status docker
# 查看docker版本
docker -v
docker换源
shell
# 创建或修改 /etc/docker/daemon.json 文件
vim /ect/docker/daemon.json
# 添加配置
{
"registry-mirrors" : [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com",
"https://mirror.ccs.tencentyun.com"
]
}
# 使配置文件生效
systemctl daemon-reload
# 重启docker服务
systemctl restart docker.service
# 查看配置是否成功
docker info
docker使用
shell
# 体验docker版nginx最新版
#-p 80:80 将客户端 80 端口映射到容器内部的 80 端口
# -d 设置容器在在后台一直运行
# --name nginx-test:容器名称
# rum 拉取并运行
docker rum --name nginx-test -d -p 80:80 nginx
# 客户端81端口 安装nginx1.16版本
docker run -d -p 81:80 nginx:1.16
# 查看docker运行的服务
docker container ls
# 体验wordpress
-e 设置容器的参数
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
docker run -d ---link mysql:mysql -p 86:80 wordpress:5.6
docker镜像:安装了某些特定程序的文件,相当于压缩文件
docker容器:镜像运行后开辟的内存空间。相当于普通程序运行之后的进程。
docker镜像常用命令
docker search nginx # 搜索nginx镜像
docker search tomcat # 搜索tomcat 镜像
该指令只能搜索官方仓库的镜像。
docker images
查看本地镜像列表,本地有的镜像就不用去下载了,可以将本地镜像导出分享给别人。
docker pull
下载镜像,拉取
docker pull tomcat:latest # 拉取tomcat最新版,冒号后面可以指定版本。 不加冒号默认拉取最新版本。
docker rmi
删除镜像 rm表示要删除容器,rmi表示删镜像,镜像处于运行状态时是不能删除的,会报错。
docker rmi tomcat:latest
docker save
导出镜像(是一个压缩包)docker save 镜像名称:版本 -o 压缩包名
在任意目录下都可以操作,压缩后会放在当前目录中 直接ll就可以查看。
docker save nginx:1.16 -o docker.nginx1.16.tar.gz
docker load
导入镜像,会自动解压并导入到docker服务中
docker load -i docker_nginx1.6.tar.gz
docker容器相关操作
docker container ls
查看docker运行了哪些容器
docker stop CONTAINER ID 或者 NAMES (通过docker ps 或者 docker container ls查看)
停止容器运行
docker stop stoic_keller
docker rm -f
docker ps -a -q
# 删除所有容器 -q显示容器id,反引号中的指令优先执行
docker ps -a 查看所有的容器,包括启动和未启动的
docker start CONTAINER ID 或者 NAMES (通过docker ps -a 或者 docker container ls查看)
docker run 运行一个新的容器
docker restart CONTAINER ID 或者 NAMES (通过docker ps -a 或者 docker container ls查看) 重新启动容器
与容器交互
容器相当于一个微型的虚拟机,所以是可以进入的
docker exec -it 602987e9527d /bin/bash
602987e9527d:CONTAINER ID
/bin/bash: 开启shell窗口
执行该指令后可以进入的容器内,但是容器内好多指令是不能运行的。