从网络上查找已发版的库
docker search [镜像库名]
#以守护模式进入镜像bash命令行
docker run -it [镜像ID] bash
#与上面不同的是可以执行systemctl命令
docker run -d --privileged=true [镜像ID] /usr/sbin/init
docker exec -it [上条命令返回ID] /bin/bash
#将容器保存为镜像
docker commit [容器ID] [镜像ID]
#显示当前所有容器
docker ps -a
#继续运行已停止(Exit)的容器
docker start -ia [容器ID]
#显示当前所有镜像
docker images -a
#查看容器端口映射
docker inspect [容器ID] | grep IPAddress
镜像(Images) 命令
#删除镜像
docker rmi [镜像ID]
#镜像的导入及导出
#导出为tar
docker save [镜像ID] > [导出镜像文件名]
docker save [镜像ID] -o [导出镜像文件名]
#导入
docker load < [导入镜像文件名]
docker load -i [导入镜像文件名]
#更改镜像名称,导入进去的是无名称的
docker tag [镜像ID] [name:tag]
窗口(Container) 命令
#删除容器
docker rm [容器ID]
#容器的导入及导出
#导出为tar
docker export [容器ID] > [导出容器文件名]
#导入tar
cat [导入容器文件名] | docker import - [镜像名称]:[版本号]
#容器端口映射到宿主机端口
1.先以交互模式进入到镜像bash中
docker create -it -p 8888:8888 [镜像ID] bash
这时候用命令【docker ps -a】可以看到端口还没有绑定
接着用命令【docker start [容器ID]】启动容器,再用【docker ps -a】命令可以看到端口已经绑定
不过这时候还不能访问,因为容器里的程序还没启动
使用【docker attach [容器ID]】命令来连接该容器
在容器中启动程序,并查看网络绑定状态
这时候再访问宿主机的ip:端口号就可以浏览到了
解决docker,ubuntu镜像中没有vi/vim
apt update
apt install vim
docker image build -t koa-demo .
docker run -it [镜像REPOSITORY]
docker save -o docker-centos-httpd.tar [镜像REPOSITORY]:[镜像TAG]
Docker之容器端口绑定本地端口
https://blog.csdn.net/qq_32403063/article/details/99483529
docker ps -a --no-trunc
启动所有的容器命令
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
停止所有的容器命令
docker stop $(docker ps -a -q)
删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker rm $(docker ps -a -q)
删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
清理所有废弃镜像与Build Cache
docker system prune -a
进入到窗口bash命令行
docker exec -it [容器ID] bash
对已经创建的容器用docker update 更新
docker update --restart=always [容器ID]
Docker中的文件系统映射
1. 主机上的 A 目录映射到容器 B
docker run -v /path/to/host/A:/path/in/container/B image_name
2. 容器里面的C目录映射到主机D
太复杂不建议用
修改运行中的docker容器的端口映射
https://blog.csdn.net/weixin_43865008/article/details/122111611
常见问题:
#docker-compose up -d报ERROR: Get "https://registry-1.docker.io/v2/": dial tcp 168.143.162.58:443: i/o timeout (Client.Timeout exceeded while awaiting headers)
https://blog.csdn.net/qingzhumuqingfeng/article/details/144094325
https://www.cnblogs.com/OneSeting/p/18532166
#docker 无法停止及删除已经创建好的容器,提示permission denied,网上试了多种办法(加组,sudo,加权限等)都没有解决,奇怪的是容器首次创建的时候没有提示,后来发现可以使用
aa-remove-unknown
来解决