了解这些Docker命令,向熟练使用Docker又迈进一步

如何通过 Dockerfile 文件打包镜像?并上传到仓库

1. 进入到 Dockerfile所在目录

2. 构建镜像:在终端运行如下命令

docker build -t <镜像名称>:<标签> ./ 

<镜像名称> 镜像名称

<标签> 镜像版本

./ Dockerfile 所在目录

3. 登录仓库 Docker login

docker login [OPTIONS] [SERVER]其中,`OPTIONS`是可选的参数,`SERVER`是Docker Registry的地址,默认为Docker Hub。常用的选项:`-u, --username string`:指定用户名`-p, --password string`:指定密码`-e, --email string`:指定邮箱`--password-stdin`:从标准输入中提供密码`--password-stdin-interactive`:从交互式输入中提供密码`-q, --quiet`:使输出信息静默
登录到Docker Hub:1. 使用用户名和密码:docker login -u username -p password 
2. 使用用户名、密码和邮箱:docker login -u username -p password -e [email protected]

4. 标记镜像:

docker tag <镜像名称>:<标签> <用户名>/<仓库名称>:<标签>eg. docker tag nginx:1.2v jieke/nginx41:1.2.1v

5. 上传镜像​​​​​​​

docker push <用户名>/<仓库名称>:<标签>eg. docker push jieke/nginx41:1.2.1v

ok,到此已经将通过 Dockerfile打包并上传到服务器

Docker常用命令

Docker 的各个组成部分:镜像(image)、容器(container)、仓库(Registry)、网络(network)、数据卷(volume)执行命令大多是:docker 组成部分名。如:

  • docker image

  • docker container

  • docker network 

  • docker volume

对应各个部分有增删改查详情 开始结束重启暂停 以及其他

  • 增删改查详情: create run rm search inspect ls prune 

  • 开始结束重启暂停: start stop restart pause unpause

  • 其他: login logout build tag history log exec cp 

Docker 镜像(Image)

基本模式:docker image​​​​​​​

# 列出本地所有的Docker镜像docker image ls
# 从Docker镜像仓库中下载特定的镜像docker image pull eg. docker image pull nginx:1.19.10
# 将本地的镜像推送到Docker镜像仓库docker image push 
# 根据Dockerfile构建一个新的镜像docker image build -t  
# 查看特定Docker镜像的详细信息docker image inspect eg. docker image inspect nginx:1.19.10
# 删除指定的Docker镜像docker image rm eg. docker image rm nginx:1.19.10
# 清理未使用的Docker镜像docker image prune
# 查看特定Docker镜像的历史记录docker image history eg. docker image history nginx:1.19.10
# 为Docker镜像设置新的标签docker image tag  
# 将Docker镜像保存到本地的tar文件中docker image save -o  

Docker 容器(Container)

基本模式:docker container 特别的:也可以不用container,直接docker执行对应容器部分的命令。如,启动一个已停止的容器:docker start ​​​​​​​

# 列出正在运行的容器docker container ls 或 docker ps
# 列出所有的容器,包括已停止的容器docker container ls -a 或 docker ps -a
# 查看指定容器的详细信息docker container inspect 
# 启动一个已停止的容器docker container start 
# 停止一个运行中的容器docker container stop 
# 重启一个运行中的容器docker container restart 
# 暂停一个运行中的容器docker container pause 
# 取消暂停一个已暂停的容器docker container unpause 
# 删除一个已停止的容器docker container rm 
# 在正在运行的容器中执行特定的命令docker container exec -it  
# 查看容器的日志输出docker container logs 
# 将文件拷贝到正在运行的容器中,或从容器中拷贝文件到主机docker container cp : 

Docker 仓库(Registry)​​​​​​​

# 登录到Docker仓库,要求提供用户名和密码docker login
# 退出当前登录的Docker仓库docker logout
# 搜索Docker仓库中的镜像docker search 
# 与 image 中的命令一致 ↓↓↓# 从Docker仓库中拉取特定版本的镜像docker pull :
# 将本地的镜像推送到Docker仓库docker push :
# 为本地镜像设置新的标签docker tag : :
# 删除本地的镜像docker rmi :
# 查看特定Docker镜像在仓库中的详细信息docker inspect :
# 将本地的镜像推送到自定义的Docker仓库docker push /:
# 与 image 中的命令一致 ↑↑↑
# 在本地创建一个容器,使用指定的镜像docker create :

Docker 数据卷(Volume)​​​​​​​

# 创建一个新的 Volumedocker volume create eg. docker volume create my_volume
# 列出所有的 Volumesdocker volume lseg. docker volume ls
# 查看指定 Volume 的详细信息docker volume inspect eg. docker volume inspect my_volume
# 删除指定的 Volumedocker volume rm eg. docker volume rm my_volume
# 清理未使用的 Volumesdocker volume pruneeg. docker volume prune
# 在启动容器时绑定一个 Volumedocker run -v : eg. docker run -v my_volume:/path/in/container my_image
# 在启动容器时通过 Mount 方式关联一个 Volumedocker run --mount source=,target= eg. docker run --mount source=my_volume,target=/path/in/container my_image

Docker 网络(network)

基本模式:docker network​​​​​

# 列出所有可用的 Docker 网络docker network ls
# 查看特定Docker网络的详细信息docker network inspect 
# 创建一个新的 Docker 网络docker network create 
# 将容器连接到指定的 Docker 网络docker network connect  
# 将容器从指定的Docker网络断开连接docker network disconnect  
# 删除指定的Docker网络docker network rm 
# 清理未使用的Docker网络docker network prune
# 查看特定Docker网络上的容器列表docker network inspect -f "{{json .Containers}}" 
# 查看特定Docker网络的子网docker network inspect -f "{{range .IPAM.Config}}{{.Subnet}}{{end}}" 
# 将容器连接到指定Docker网络,并为容器设置别名docker network connect --alias   

关注我微信公众号(追寻9)了解更多开发相关知识!!!

你可能感兴趣的:(docker,容器)