美文网首页
Docker 实践答疑

Docker 实践答疑

作者: Devid | 来源:发表于2017-05-05 22:29 被阅读94次

基础用法

docker run 提示错误

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

解决方法:docker 服务未运行,请开启:

sudo service docker start

安装docker web管理界面程序shipyard

shipyard提供了管理界面管理各种docker资源。
项目地址:https://github.com/shipyard/shipyard
安装方法:

curl -s https://shipyard-project.com/deploy | bash -s

安装完成后默认登录用户名密码为:admin/shipyard,界面如下:


image.png

docker ps 和docker ps -a

  • docker ps:列出正在运行的容器。
  • docker ps -a:列出所有容器,包括正在运行和停止的。

创建守护式容器

守护式容器是指后台长期运行的容器,没有交互式会话,适合长期运行的服务,如web程序。
使用-d参数可以将容器放到后台运行,如:

docker run --name webserver -d nginx

使用阿里云镜像加速器加速docker

对于使用 systemd (ubuntu 16.04)的系统,用 systemctl enable docker
启用服务后,编辑 /etc/systemd/system/multi-user.target.wants/docker.service
文件,找到 ExecStart=
这一行,在这行最后添加加速器地址 --registry-mirror=<加速器地址>
,如:

ExecStart=/usr/bin/dockerd --registry-mirror=https://v2kdqv13.mirror.aliyuncs.com

注:对于 1.12 以前的版本,dockerd
换成 docker daemon

重新加载配置并且重新启动。

$ sudo systemctl daemon-reload
$ sudo systemctl restart docker

检查加速器是否生效

Linux系统下配置完加速器需要检查是否生效,在命令行执行 ps -ef | grep dockerd,如果从结果中看到了配置的 --registry-mirror 参数说明配置成功。

$ sudo ps -ef | grep dockerd
root   5346   1  0 19:03 ?    00:00:00 /usr/bin/dockerd --registry-mirror=https://v2kdqv13.mirror.aliyuncs.com

将宿主机目录挂在到docker Nginx镜像进行静态网站测试

如宿主机当前目录为website,我们想将其挂在到Nginx容器中,当修改本地website中内容时,站点内容随时刷新为本地内容,启动挂在方法如下:

docker run -d -p 80:80 --name webserver -v $PWD/website:/usr/share/nginx/html:ro nginx

同时使Nginx容器/usr/share/nginx/html目录变为只读。

数据卷容器

如果你有一些持续更新的数据需要在容器之间共享,最好创建数据卷容器。

数据卷容器,其实就是一个正常的容器,专门用来提供数据卷供其它容器挂载的。

基本用法

首先,创建一个名为 dbdata 的数据卷容器:

$ sudo docker run -d -v /dbdata --name dbdata training/postgres echo Data-only container for postgres

然后,在其他容器中使用 --volumes-from 来挂载 dbdata 容器中的数据卷。

$ sudo docker run -d --volumes-from dbdata --name db1 training/postgres
$ sudo docker run -d --volumes-from dbdata --name db2 training/postgres

可以使用超过一个的 --volumes-from 参数来指定从多个容器挂载不同的数据卷。 也可以从其他已经挂载了数据卷的容器来级联挂载数据卷。

$ sudo docker run -d --name db3 --volumes-from db1 training/postgres

注意:使用 --volumes-from 参数所挂载数据卷的容器自己并不需要保持在运行状态。

如果删除了挂载的容器(包括 dbdata、db1 和 db2),数据卷并不会被自动删除。如果要删除一个数据卷,必须在删除最后一个还挂载着它的容器时使用 docker rm -v 命令来指定同时删除关联的容器。 这可以让用户在容器之间升级和移动数据卷。

相关文章

  • Docker 实践答疑

    基础用法 docker run 提示错误 解决方法:docker 服务未运行,请开启: 安装docker web管...

  • Docker安装与国内加速

    Docker 简介 Docker官网Docker GithubDocker —— 从入门到实践Docker是一个开...

  • 在Docker中运行Python Web应用,基于docker-

    本文基于docker-compose进行python项目的docker实践。 一、实践环境&版本: 1. Dock...

  • docker

    Docker实践:python应用容器化docker挂载本地目录,实现文件共享Docker document

  • 1、PostgreSQL 数据库入门

    本文实践环境 macOS Mojave 10.14.6 docker 19.03.1 docker-compose...

  • docker简介及mac下安装docker

    最近系统的学习docker,参考资料Docker-从入门到实践,docker官网 docker是什么 Docker...

  • Ubuntu下安装Docker

    《Docker Practice(Docker从入门到实践)》学习笔记本文转自:Ubuntu 安装 Docker ...

  • Docker基础(2) 实践篇

    Docker基础(2) 实践篇 Docker的指令系统 全局指令 Docker仓库管理 Docker镜像管理Doc...

  • Docker 基本用法

    Docker 参考 极客学院Wiki:Docker入门基础教程 Gitbook:Docker —— 从入门到实践 ...

  • Docker

    Docker —— 从入门到实践 https://yeasy.gitbooks.io/docker_practic...

网友评论

      本文标题:Docker 实践答疑

      本文链接:https://www.haomeiwen.com/subject/umostxtx.html