美文网首页
docker常见命令总结

docker常见命令总结

作者: 大杯冰摩卡 | 来源:发表于2020-08-28 16:41 被阅读0次

    镜像

    • 查看镜像 docker images
    docker images
    
    REPOSITORY            TAG                 IMAGE ID            CREATED             SIZE
    ubuntu                latest              4e2eef94cd6b        5 days ago          73.9MB
    openresty/openresty   1.13.6.2-alpine     ef57f6ca4202        14 months ago       49.1MB
    
    • 获取镜像 docker pull
    sudo docker pull ubuntu
    
    • 获取详细信息 docker inspect + 镜像名或Id
    docker inspect ubuntu
    
    • 删除镜像 docker rmi + 镜像名或Id
    docker rmi ubuntu
    
    • 保存镜像 docker commit
    docker commit -m "测试"  nginx
    
    • 命名镜像 docker tag
    docker tag 1d538d7dd3b2 nginx1.0
    
    • 迁移镜像 docker save
    docker save nginx1.0 > nginx1.0.tar
    
    • 批量迁移:
    sudo docker save -o ./images.tar webapp:1.0 nginx:1.12 mysql:5.7
    
    • 导入镜像 docker load
    sudo docker load < webapp-1.0.tar
    

    容器

    • 创建容器 docker create
    sudo docker create nginx:1.12
    -- name 设置容器名
    sudo docker create --name nginx nginx:1.12
    
    • 启动容器 docker start
    sudo docker start nginx
    

    docker run = docker create + docker start

    sudo docker run --name nginx -d nginx:1.12
    
    • 查看容器列表 docker ps
    docker ps 正在运行的容器
    docker ps -all/-a 所有容器
    
    
    • 停止容器 docker stop
    sudo docker stop nginx
    
    • 删除容器 docker rm
    sudo docker rm nginx
    sudo docker rm -f nginx 强制删除
    
    • 进入容器 docker exec
    sudo docker exec -it nginx bash
    
    • 导出容器 docker export
    sudo docker export -o ./nginx.tar nginx
    
    • 导入容器 docker import
    sudo docker import nginx.tar nginx2
    

    网络

    • 容器互联: --link
    sudo docker run -d --name webapp --link mysql webapp
    
    • 暴露端口: --expose
    sudo docker run -d --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=yes --expose 13306 --expose 23306 mysql:5.7
    
    • 创建网络: docker network create
    sudo docker network create -d bridge individual
    
    -d 网络驱动类型:bridge、host、overlay、maclan、none
    
    • 加入网络:--network
    sudo docker run -d --name mysql -e MYSQL_RANDOM_ROOT_PASSWORD=yes --network individual mysql:5.7
    
    • 端口映射:-p/ -publish
    // ip 是宿主操作系统的监听ip,host-port是宿主机端口,container-port是容器端口
    -p <ip>:<host-port>:<container-port>
    

    将容器的 80 端口映射到宿主操作系统的 8080 端口:

    sudo docker run -d --name nginx -p 8080:80 -p 443:443 nginx:1.12
    

    数据卷

    • 挂载 -v-volume
    sudo docker run -d --name webapp -v /webapp/storage webapp:latest
    
    • 创建 docker volume create
    sudo docker volume create appdata
    
    • 查看 docker volume ls
    docker volume ls
    DRIVER              VOLUME NAME
    local               appdata
    
    • 删除 docker volume rmdocker volume prune(删除没有被容器引用的数据卷)
    sudo docker volume rm appdata
    

    或者

    sudo docker rm -v webapp
    

    相关文章

      网友评论

          本文标题:docker常见命令总结

          本文链接:https://www.haomeiwen.com/subject/vxwlsktx.html