docker常用命令和解释

#docker开机启动

systemctl   enable   docker

#在运行docker容器时可以加如下参数来保证每次docker服务重启后容器也自动重启:(重要)

docker container update --restart=always 容器名字

#通过镜像运行容器(简单参数)

docker run --name 容器名字  -d -p 80:80  -v  /data:/data 镜像名字

--name   为容器指定一个名称

-d          后台运行容器,并返回容器ID

-p         指定端口映射,格式为:主机(宿主)端口:容器端口

-v         主机的目录 /data 映射到容器的 /data

使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。

docker run --name mynginx -d nginx:latest

使用镜像nginx:latest以后台模式启动一个容器,并将容器的80端口映射到主机随机端口。

docker run -P -d nginx:latest

使用镜像 nginx:latest,以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。

docker run -p 80:80 -v /data:/data -d nginx:latest

绑定容器的 8080 端口,并将其映射到本地主机 127.0.0.1 的 80 端口上。

$ docker run -p 127.0.0.1:80:8080/tcp ubuntu bash

使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。

runoob@runoob:~$ docker run -it nginx:latest /bin/bash
root@b8573233d675:/# 

详细和参看例子   https://www.runoob.com/docker/docker-run-command.html

#进入一个已经运行的容器

docker exec [选项] 容器ID/名字 COMMAND [ARG...]

例子

docker exec -it 775c7c9ee1e1 /bin/bash

  • -d :分离模式: 在后台运行

  • -i :即使没有附加也保持STDIN 打开

  • -t :分配一个伪终端

#查看容器启动日志(重要)

#容器启动日志
docker logs p1

 

构建镜像命令

docker build -f /root/Dockerfile –t  nginx:v1   .

-t, --tag list  指定生成镜像标签,格式为nginx:v1  nginx为镜像 V1是标签
-f, --file string  单独指定Dockerfile文件位置

#上传构建后镜像到镜像仓库

docker push 192.168.10.10:5000/nginx:v1

Docker基本命令快速入门
1)镜像命令-------------------------------------------
镜像:相当于应用的安装包,在Docker部署的任何应用都需要先构建成为镜像
docker search  镜像名称          #搜索镜像

docker push 镜像名称             #推送镜像
docker pull 镜像名称             #拉取镜像
docker images                    #查看本地所有镜像
docker rmi -f 镜像名称           #删除镜像


docker rmi -f $(docker images -q)         ##删除本地全部镜像

2)容器命令---------------------------------------------
容器:容器是由镜像创建而来。容器是Docker运行应用的载体,每个应用都分别运行在Docker的每个
容器中。
启动/停止/重启容器
docker start/stop/restart 容器名称/ID
删除容器
docker rm -f 容器名称/ID

查看运行中的容器
docker ps

查询所有容器(包括正在运行和关闭的)
docker ps –a

 # 查看最近运行的容器

docker ps -l

#容器与主机间的数据拷贝

##将rabbitmq容器中的文件copy至本地路径
docker cp rabbitmq:/[container_path] [local_path]
##将主机文件copy至rabbitmq容器
docker cp [local_path] rabbitmq:/[container_path]/
##将主机文件copy至rabbitmq容器,目录重命名为[container_path](注意与非重命名copy的区别)
docker cp [local_path] rabbitmq:/[container_path]
检查任务和容器
docker inspect <task or container>

原文地址:https://www.cnblogs.com/pengrj/p/13668051.html