镜像使用
sudo docker pull ubuntu #拉取镜像sudo docker images #列出镜像sudo docker import ubuntu:21.04.tar #导入镜像docker search httpd #查找镜像sudo docker rmi httpd #删除镜像sudo docker commit -m="has update" -a="liminghui" b3c09fd675d3 ub:v1 #创建镜像sudo docker run -it ub:v1 /bin/bash #启动容器sudo docker tag cfe63ee5e0ec test:v0 #设置镜像标签
构建镜像(编写Dockerfile)
docker build -t ubuntu:20.04 #构建
容器使用
sudo docker run -it ubuntu:20.04 /bin/bashsudo docker run -it --name myubuntu ubuntu:20.04 /bin/bash #启动并重命名镜像sudo docker run -d ubuntu:20.04 /bin/sh -c "while true; do echo hello world; sleep 1; done" #后台方式sudo docker run -itd ubuntu:20.04 /bin/bashsudo docker start b3c09fd675d3 #启动已经停止的容器sudo docker restart 04b2e9f7c136 #重启容器sudo docker ps #查看正在运行的容器sudo docker ps -a # 查看所有容器sudo docker logs 33de8f157774 #查看容器运行的结果sudo docker attach 04b2e9f7c136 #退出容器停止运行sudo docker exec -it b3c09fd675d3 /bin/bash #退出容器不会停止运行sudo docker stop 33de8f157774 #停止容器sudo docker export 04b2e9f7c136 >ubuntu:21.04.tar #导出容器sudo docker import ubuntu:21.04.tar #导入镜像sudo docker rm -f 04b2e9f7c136 #删除容器
容器应用
docker pull training/webapp #获取应用镜像sudo docker run -d -P training/webapp python app.py #运行sudo docker port 5f96df685b40 #查看应用端口sudo docker run -d -p 5001:5000 training/webapp python app.py #更改应用程序接口sudo docker logs 5f96df685b40 #查看应用日志sudo docker top 5f96df685b40 #应用程序容器的进程sudo docker inspect 5f96df685b40 #检查应用程序的参数面板sudo docker rm nifty_hofstadter # 根据名字删除应用
容器连结
sudo docker network create -d bridge mynet #新建网络sudo docker run -itd --name test1 --network mynet ubuntu:20.04 /bin/bash #根据网络创建容器sudo docker run -itd --name test2 --network mynet ubuntu:20.04 /bin/bash
仓库管理
docker login docker logout #登录dockerhub账号sudo docker pull ubuntu:20.04 #推送镜像到dockerhub