侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

Docker入门操作

2023-11-15 星期三 / 0 评论 / 0 点赞 / 52 阅读 / 4482 字

docker目录/var/lib/docker目录存放着Docker镜像、容器以及容器的配置。所有的容器都保存在/var/lib/docker/containers目录下。查看Docker运行状态do

docker目录

/var/lib/docker目录存放着Docker镜像、容器以及容器的配置。所有的容器都保存在/var/lib/docker/containers目录下。

查看Docker运行状态

docker info

第一个docker入门

 docker run -i -t ubuntu /bin/bash -i stdin 标准的输入 -t 伪tty终端 上面可能会出现: docker: error pulling image configuration这样的错误,是因为网络问题,解决办法是使用国内的docker镜像,这里使用daocloud的加速镜像: echo "DOCKER_OPTS=/"/$DOCKER_OPTS --registry-mirror=http://xxxxx.m.daocloud.io/"" | tee -a /etc/default/docker   原理:首先Docker会检查本地是否存在ubuntu镜像,如果本地还没有该镜像的话,那么Docker就会连接官方维护的Docker Hub Registry,查看Docker Hub中是否有该镜像。 Docker一旦找到该镜像,就会下载该镜像并将其保存到本地宿主机中。 随后,Docker在文件系统内部用这个镜像创建了一个新容器。 该容器拥有自己的网络、IP地址,以及一个用来和宿主机进行通信的桥接网络接口。最后,我们告诉Docker在新容器中要运行什么命令,本例中我们在容器中运行/bin/bash命令启动了一个Bash shell .当容器创建完毕之后,Docker就会执行容器中的/bin/bash命令,这时我们就可以看到容器内的shell了。

查看容器

docker ps -a 包含停止的和运行的docker ps -l 最后一次的docker ps 只有运行的docker images 所有的镜像docker ps -n x 显示最后x个容器docker inspect container_namedocker inspect --format=’{{.State.Running}}’ container_name 返回指定内容

怎样给容器起一个名字?

Docker会为我们创建的每一个容器自动生成一个随机的名称。如果想为容器指定一个名称,而不是使用自动生成的名称,则可以用一name标志来实现.比如:docker run --name ubuntu_container -i -t ubuntu /bin/bash一个合法的容器名称只能包含以下字符:小写字母a-z、大写字母A-Z、数字0-9、下划线、圆点、横线(如果用正则表达式来表示这些符号,就是[a-zA-Z0-9_.-])

重启容器的几种方式?

docker start|restart container_name|container_id

停止容器

docker stop|kill container_name|container_id

创建长期运行的容器

守护式容器(daemonized container)没有交互式会话,非常适合运行应用程序和服务。大多数时候我们都需要以守护式来运行我们的容器。docker run --name ubuntu_daemon -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"-d 将容器放到后台执行上面的命令是在后台一直循环输出hello world  

获得容器的日志

docker logs  [-f] container_id|container_name-f 可以实时监控日志docker logs一tail 10 container_name 获取日志的最后10行docker logs --tail 0 -f container_name 读取最新的日志docker logs --tail 0 -ft container_name 读取最新的日志并添加时间戳

查看容器内运行的进程

 docker top container_name

怎样在容器内部运行进程呢?

在Docker 1.3+通过docker exec命令在容器内部额外启动新进程。在容器内运行的进程有两种类型:后台任务和交互式任务。后台任务在容器内运行且没有交互需求,而交互式任务则保持在前台运行。对于需要在容器内部打开shell的任务,交互式任务是很实用的。docker exec -d ubuntu_daemon touch /etc/new_file上面执行后在后台创建一个空的文件docker exec -i -t ubuntu_daemon /bin/bash上面执行后,打开shell

docker的自动重启?

docker run  --restart=always|on-failure:5 --name ubuntu_daemon -d ubuntu bin/sh -c "while true; do echo hello world; sleep  1;done"--restart 检查容器的退出代码,确定是否重启,默认是不重启的	always 一直自动重启,无论退出代码是什么.	on-failure:5 容器退出代码为非0时,重启5次,其中:5可以不要.

删除停止的容器

docker rm container_id 删除指定的容器docker rm `docker ps -a -q` 删除所有的容器(反引号)

广告 广告

评论区