文章插图
attach 和exec的区别
attach 和exec主要区别如下其他的一些命令
- attach 直接进入容器启动命令的终端,不会启动新的进程.
- exec 则是在容器中打开新的终端 并且可以启动新的进程
- 如果像直接在终端查看命令的输出 用attach
- 其他请看用exec
# 启动死掉的容器docker start 短id# 重启 docker容器docker restart 短id# 暂停 docker 容器 # 不会占用资源docker pause 短id# 重新运行 容器docker unpause 短id# 删除docker 容器 #可以同时删除两个 空格隔开docker rm 短id 短id# 批量删除 所有死掉的dockerdocker rm -v $(docker ps -aq -f status=exited)# 删除镜像docker rmi hello-world# 删除异常停止的容器docker rm `docker ps -a | grep Exited | awk '{print $1}'` #删除名称或标签为none的镜像docker rmi -f`docker images | grep '<none>' | awk '{print $3}'`# 清除所有无容器使用的镜像 注意,此命令只要是镜像无容器使用(容器正常运行)都会被删除,包括容器临时停止docker system prune -a
4. docker-appium的使用docker 安装apoium 巨坑?。?不建议安装这里推荐另一种方式 直接从docker hub上安装
sudo docker search appium
文章插图
然后 docker pull 镜像即可
sudo docker pull appium/appium
文章插图
如果下载的太慢 可手动配置加速器
- 创建一个Docker的配置文件 。
sudo vim /etc/docker/daemon.json
- 编写配置文件
{ "registry-mirrors": ["此处写镜像源地址"]
- Docker镜像源地址:
官方国内镜像 https://registry.docker-cn.com
网易 http://hub-mirror.c.163.com
中国科技大学 https://docker.mirrors.ustc.edu.cn
- 重新加载配置文件并重启Docker 。
sudo systemctl daemon-reload
sudo systemctl restart docker
- 验证镜像源是否修改成功
sudo docker info
- 查看docker 容器ip
- docker inspect 容器ID | grep IPAddress
docker commit -m="提交信息" -a="作者信息" 容器名/容器ID 提交后的镜像名:Tag
我们拉取一个tomcat镜像 并持久化运行 且设置与宿主机进行端口映射docker pull tomcatdocker run -itd -p8080:8080 --name tom tomcat /bin/bash
使用 提交命令 将在运行的tomcat 容器 打包为一个全新的镜像 名字为tom Tag为1.0docker commit -a="leilei" -m="第一次打包镜像,打包后直接访问还会404吗" 231f2eae6896 tom:1.0
6. Docker镜像创建的两种方法6.1. 使用commit 命令创建docker镜像创建一个nginx镜像sudo docker run --name webserver -d -p 80:80 nginx
运行完命令 创建成功然后我们访问浏览器假设我们不喜欢这个页面 想修改这个页面我们可以进入docker容器内然后 输入命令sudo docker exec -it webserver bash
echo '<h1>hello,docker!</h1>' >/usr/share/nginx/html/index.html
然后就修改了页面了docker diff命令我们修改了文件即修改了存储层可以通过命令查看刚刚有哪些操作
sudo docker diff webserver
Docker commit 命令Docker commit 命令可以叠加内容从而重新生成一个镜像docker commit [选项]<容器ID或容器苗> [<仓库名>][:<标签>]
sudo docker commit --author "lzc <hybpjx@163.com>" --message "modify Default page" webserver nginx:v2
这个时候就可以通过
sudo docker images
来查看了或者通过
sudo docker histroy nginx:v2
我们再创建一个为81端口的nginx容器
sudo docker run --name web2 -d -p 81:80 nginx:v2
然后访问 192.168.2.91:81可以发现 页面还是一样的 说明镜像创建成功?。。。?慎用 docker commit 命令使用docker commit 命令虽然可以比较直观的帮助理解镜像分层的概念 但是实际开发环境不会这么使用因为由于命令执行了 很多文件发生了改动 这还仅仅是简单错误 如果是安装文件 编译构建 那么镜像会非常臃肿,此外 使用docker commit 意味着 所有对镜像的操作都是黑箱操作,生成的镜像也被称之为 黑箱操作
推荐阅读
- 系统整理K8S的配置管理实战-建议收藏系列
- 联想拯救者R7000 2021款官方配置_联想拯救者R7000 2021款升级情况
- 第2-1-3章 docker-compose安装FastDFS,实现文件存储服务
- 华为matex2参数_华为matex2参数配置详情
- 荣耀Magic3最新消息_荣耀Magic3配置消息
- LAPM概述及配置
- 红米k30pro参数_红米k30pro参数配置详情
- 第2-1-2章 传统方式安装FastDFS-附FastDFS常用命令
- 7.Vue常用属性
- 2022,一个Java程序猿的外设配置