#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>