从网络上查找已发版的库
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 [导出镜像文件名]
#导入
tardocker load < [导入镜像文件名]
#更改镜像名称,导入进去的是无名称的
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中启动所有的容器命令
docker start $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker中删除所有的容器命令
docker rm $(docker ps -a | awk '{ print $1}' | tail -n +2)
docker中删除所有的镜像
docker rmi $(docker images | awk '{print $3}' |tail -n +2)
进入到窗口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
太复杂不建议用