docker的基本命令
容器的三大组成
镜像image 一个静态文件,特点:分层结构,不可更改
容器container 镜像运行的结果,容器可以修改,运行完后直接停止
仓库registry 用来存放镜像文件的地方
容器的常用命令介绍
关于镜像的命令
docker pull 镜像名 //拉取镜像
docker inspect 镜像名 //查看镜像的详细信息
docker images //查看本地镜像
docker rmi 镜像名 //删除镜像
docker save -o xx.tar httpd //将镜像保存为压缩文件
docker load -i xx.tar //将压缩文件的镜像载入到本地镜像
docker push 镜像名 //上传镜像到仓库
docker rmi $(docker images -aq) //删除所有本地镜像
关于容器的命令
docker run 镜像名 //运行镜像
-it 交互式并给定一个终端/bin/bash
-d 后台运行
--name 指定容器名
-p 本机端口:容器端口 //指定映射端口
docker inspect 容器名 //可以查看容器的地址等详细信息
docker ps //查看运行的容器
docker ps -a //查看运行过的和正在运行的容器
docker rm 容器名 //删除容器
docker rm -f 容器名 //强制删除正在运行的容器
docker commit 容器名 镜像名:tag //将容器提交成一个镜像
docker cp 容器名:/aa 本地路径 //容器到本机的文件复制
docker cp 本地路径 容器名:/aa //本机到容器的复制
docker exec -it 容器名 /bin/bash //进入容器shell
docker attach 容器名 //进入容器
exec 打开容器的新进程 attach 只用容器自身进程
docker start/stop/restart 容器名 //容器的启动/停止/重启
docker pause 容器名 //容器挂起
docker unpause 容器名 //将挂起的容器恢复运行
docker container prune //清空所有被停止的容器
实验:ubuntu系统
1,拉取如下镜像
将centos:7 镜像保存为压缩文件上传到另一台安装了docker 的主机上并在其上载入压缩镜像
docker save -o centos7.tar centos:7
scp centos7.tar root@192.168.38.5:/root
另一台docker主机
docker load -i centos7.tar
分别运行ubuntu 和 centos:7 的镜像在后台运行
docker run -itd --name my-u ubuntu /bin/bash
docker run -itd --name my-c centos:7 /bin/bash
在运行的centos:7镜像容器中创建 centos7.repo 文件并配置本地yum 源
docker exec -it my-c /bin/bash
cd /etc/yum.repos.d/
rm -rf *
vi centos7.repo
exit
将配置好本地yum 源的容器提交成新的镜像
docker commit my-c centos7.1
运行新镜像查看yum 源是否保留
docker run -itd --name my-c1 centos7.1 /bin/bash
docker exec -it my-c1 /bin/bash
cat /etc/yum.repos.d/centos7.repo
在 ubuntu 镜像容器中使用 apt update 更新 测试是否可以实现
docker exec -it my-u /bin/bash
apt update
复制本机的任意文件到ubuntu 容器中
docker cp nginx.sh my-u:/root
docker exec -it my-u /bin/bash
ls /root
停止ubuntu 容器并删除容器
docker stop my-u
docker rm my-u
强制删除centos:7 的镜像容器 只保留新的配好yum 源的容器
docker rm -f my-c
分别运行 httpd 和 nginx 镜像 端口映射分别是 8081:80 8082:80
docker run -d -p 8081:80 --name my-h httpd
docker run -d -p 8082:80 --name my-n nginx
通过本机浏览器访问虚拟机ip +端口测试是否可以访问容器网页
在运行一个 httpd 但不映射端口 查看容器地址 用本机curl 访问容器网页
docker run -d --name my-h1 httpd
docker inspect my-h1
curl 172.17.0.5
拉取镜像 busybox
docker pull busybox