A-A+

Is the docker daemon running? Docker使用总结

2021年04月26日 Linux Is the docker daemon running? Docker使用总结已关闭评论 阅读 15 次围观 次

/usr/bin/docker-current: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?.
See '/usr/bin/docker-current run --help'.

docker 服务启动

systemctl start docker.service

systemctl enable docker.service

docker语法

1
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

docker OPTIONS说明

-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;

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

-i: 以交互模式运行容器,通常与 -t 同时使用;

-P: 随机端口映射,容器内部端口随机映射到主机的端口

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

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

--name="nginx-lb": 为容器指定一个名称;

--dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;

--dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;

-h "mars": 指定容器的hostname;

-e username="ritchie": 设置环境变量;

--env-file=[]: 从指定文件读入环境变量;

--cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;

-m :设置容器使用内存最大值;

--net="bridge": 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;

--link=[]: 添加链接到另一个容器;

--expose=[]: 开放一个端口或一组端口;

--volume , -v: 绑定一个卷

使用示例(注意数据持久化问题)

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

1、 使用镜像 nginx:latest,以docker run后台模式启动
2、 --name mynginx容器命名为mynginx
3、 -p 80:80 将容器的 80 端口映射到主机的 80 端口
4、 -v /data:/data 主机的目录 /data 映射到容器的 /data 说明:前参数是volume name,后面的是需要备份保留的容器数据文件目录

docker容器控制命令

# 开始一个新的容器
docker run ..(参数)...
# 停止容器
docker stop mydocker
# 开始容器
docker start mydocker
# 重启容器
$ docker restart mydocker
# 杀死一个工作
$ docker kill mydocker
# 删除一个容器(先停止后删除)
docker stop mydocker
docker rm mydocker
#查看运行的容器
docker ps

列出所有的容器 ID(带有-d参数启动的均为后台运行,只返回ID)

docker ps -aq

停止所有的容器

docker stop $(docker ps -aq)

删除所有的容器

docker rm $(docker ps -aq)

删除所有的镜像

docker rmi $(docker images -q)

***一句话命令 删除所有停止的容器

docker container prune -f

build命令生成docker镜像

docker build -t friendlyhello

docker build --f /root/heian -t heian/centos

以自定义的镜像friendlyhello启动一个容器

docker run -p 4000:80 friendlyhello

更新docker/lua镜像命令(提交修改的部分)

docker commit eafd9111ada6 docker/lua
命令中,指定了要提交的修改过的容器的ID、目标镜像仓库、镜像名。

查看自己的docker/lua镜像命令

docker images docker/lua

查找nginx相关的容器

docker search nginx

自定义Docker镜像启动容器

#查看所有docker的volume

docker volume ls

#删除指定docker的volume

docker volume rm [volume name]

#查看docker的volume详细

docker volume inspect [volume name]

启动时直接指定docker容器的数据卷

docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
docker run -it -v /wei:/wei centos

本地数据数据映射(挂载)到容器内

docker run -d -it -v /root/www/:/mnt/ --name
-d 守护进程方式运行
-v 映射数据卷 -v [本地目录]:[容器内目录]

Docker挂载主机目录Docker访问出现cannot open directory .: Permission denied

解决办法:在挂载目录后多加一个--privileged=true参数即可

查看数据卷是否挂载成功

docker inspect df6f397beedd

Docker 进入 某个 容器 这里以ubuntu:14.04为例

docker run -t -i ubuntu:14.04 /bin/bash
/bin/bash 在容器内启动 bash shell ,可以进入容器内进行交互操作,就像操作一台服务器的ubuntu系统一样
退出容器内的操作Ctrl+D

使用 exec 命令进入已经存在的容器

$ docker start eafd9111ada6 # 启动容器
$ docker exec -it eafd9111ada6 /bin/bash # 进入容器

标签:

评论已关闭!

Copyright © 老牛博客 保留所有权利.   Theme  Ality

用户登录