-
登陆镜像仓库
docker login hub.docker.com
Username: 用户名
pwd: 密码 -
docker镜像基本操作
1. 下载镜像: docker pull ubuntu:14.04 # ps: pull 是下载镜像的命令;ubuntu是下载的镜像名字,冒号后的14.04是版本号。如果直接使用ubuntu不加版本号,默认是最新版。 2. 运行容器 命令格式:docker run [options] image [COMMAND] [ARGS] docker run -it ubuntu:14.04 bash # 会自动创建一个容器 OPTIONS:选项 -i:表示启动一个可交互的容器,并持续打开标准输入 -t: 表示使用终端关联到容器的标准输入输出上 -d: 表示将容器放置后台运行 --rm: 退出后即删除容器 --name: 表示定义容器的名称 IMAGE:要运行的镜像 COMMAND:启动容器时要运行的命令 # 启动容器 docker start [containerId]或[容器名称] 3. 查看当前运行的docker状态: docker container ls docker ps -a # -a表示all,列出所有容器(包括已关闭的) 4. 停止容器 docker stop [containerId]或[容器名称] docker restart [containerId]或[容器名称] # 重启 5. 删除容器 docker rm [containerId]或[容器名称] docker rm -f [containerId]或[容器名称] # 强制删除(包括正在运行的容器) for i in `docker ps -a|grep exit|awk '{print $1}'`; do docker rm -f $i:done 4. 查看可使用的镜像 docker image ls docker images 5. 根据仓库名列出镜像 docker image ls ubuntu 6. 查看镜像、容器、数据卷所占用的空间 docker system df 7. 查找dockerhub上的镜像 docker search alpine 8. 给镜像打tag docker tag imageId new_image_name:tag
-
构建镜像
docker build -t hub.docker.com/ai/image_name:0.1 . # 0.1为版本号
-
启动镜像并进入容器
docker run -v /home/user_name/docker_space:/data/ -it -p 8500:8500 -p 8501:8501 hub.docker.com/ai/image_name:0.1 /bin/bash # -v表示将母机的路径(绝对路径)挂载到容器中,-p 母机端口对容器端口的映射,可以多个
-
进入已有容器
docker exec -it dockerid /bin/bash
-
镜像制作和上传
上传镜像:docker commit -m "update image tools" 48a31417542a hub.docker.com/ai/image_name:v0.2 # 生成镜像,倒数第二个字符串为容器id,可通过docker container ls 查看 docker push dhub.docker.com/ai/image_name:v0.2 # 上传镜像
-
删除容器
docker ps -aq # 查看所有运行或者不运行容器 docker stop $(docker ps -aq) # 停止所有的容器 docker rm <container_id> # 根据容器id删除容器 docker container prune # 删除所有运行中的容器 docker images 或docker image ls # 查看所有的镜像,实际使用时可以docker image ls |grep “xx” 进行过滤 docker rmi <image_id> # 根据镜像id删除镜像 docker image prune --force --all或者docker image prune -f -a # 删除所有不使用的镜像 docker image inspect --format='{{.RepoTags}} {{.Id}} {{.Parent}}' $(docker image ls -q --filter since=image_id) # 查看镜像的依赖,其中image_id修改为需要查看依赖的image_id
6.1 删除docker
sudo apt-get purge docker-ce -y
sudo rm -rf /etc/docker
sudo rm -rf /var/lib/docker/
批量脚本删除
for i in `docker ps -a|grep pi exit|sed 'ld'|awk '{print $1}'`; do docker rm -f $i; done
-
其他操作
# 一般Docker容器默认大小是10G, 可通过下述方法调整 docker -d --storage-opt dm.basesize=100G
-
镜像打包与加载
docker save -o name.tar image_name # 镜像打包, image_name需要包括tag 或 docker save [containerId] > name.tar docker load -i name.tar # 加载打包镜像 或 docker load < name.tar docker tag [containerId] [仓库/镜像名:版本] docker image ls # 查看镜像列表,即可查看到加载的镜像 10. 查看日志 # 重定向日志 docker run ubuntu:18.04 2>&1 >> /dev/null # 不会打印在终端 # 查看日志 docker logs [containerId]
- 查看容器详细信息
docker inspect [containerid] # 查看容器的启动、挂载等详细信息
- 查看容器详细信息