DockerCommand - wxtt-github/blog GitHub Wiki

Dockerfile文件内容示例(D必须大写)

FROM node:14-alpine
COPY index.js /index.js
# 另一种可选的运行命令格式
# CMD [ "node", "/index.js" ]
CMD node /index.js

创建镜像

docker build -t <镜像名> .

查看所有镜像(选其中一个命令即可)

docker images
docker image ls

启动镜像

注意:从Docker Hub拉取的镜像名可能包括账号名

docker run <镜像名>

上传镜像

注:你可以在上传前先标记版本号为latest,这样上传时也不需要加版本号了,默认是latest

# 登录Docker Hub账号
docker login
# 标记镜像
docker tag <镜像名> <账号名>/<镜像名>:<版本号>
# 上传镜像
docker push <账号名>/<镜像名>:<版本号>

例如:

自定义版本号

docker tag hello_docker wxtt/hello_docker:v1.0

docker push wxtt/hello_docker:v1.0

默认版本号为latest

docker tag hello_docker wxtt/hello_docker:latest

docker push wxtt/hello_docker

拉取镜像

注意:有些镜像的拉取不需要版本号也行,不加版本号就是默认版本号为latest,前提是镜像源的版本号得有latest,否则会报错

docker pull <账号名>/<镜像名>:<版本号>

删除镜像

如果承载镜像的容器还在的话,是无法删除镜像的,需要先把容器删掉

不止可以根据ID删除,根据名字删除也可以

# 查看所有容器的状态
docker ps -a
# 删除容器,只需要输入容器ID前3位即可
docker rm <容器ID>
# 查看镜像信息
docker images
# 删除镜像,只需要输入镜像ID前3位即可
docker rmi <镜像ID>

Docker Compose构建

docker compose up -d

停止容器运行

# 停止容器运行,只需要输入容器ID前3位即可
docker stop <容器ID>
# 停止所有正在运行的容器,运行以下命令:
docker stop $(docker ps -aq)

容器自启动(开启/关闭)

# 开启自启动
docker update –-restart=always <容器ID>
# 关闭自启动
docker update --restart=no $(docker ps -q)

离线移植docker镜像

# 保存镜像
docker save <镜像名>:<版本号> -o <镜像名>.tar
例如
docker save java:8 -o java.tar  #将java:8的镜像导出成tar文件
# 加载镜像
docker load -i <镜像名>.tar

重启docker

sudo systemctl restart docker
⚠️ **GitHub.com Fallback** ⚠️