Docker

作者: 观星 | 来源:发表于2016-11-09 17:28 被阅读576次

Docker入门教程

Docker组成

1.docker服务端,docker服务端是一个服务进程,管理着所有的容器

2.docker客户端,docker客户端则扮演着docker服务端的远程控制器,可以用来控制docker的服务端进程。

大部分情况下,docker服务端和客户端运行在一台机器上。

Boot2Docker的缺省用户名为docker,密码为tcuser。mac上

Docker命令

docker容器

进入容器并运行/bin/zsh

docker exec -t -i cbe2e83dc98a /bin/zsh

docker全局命令

$ docker version

// 查看正在运行的容器
$ docker ps

$ docker ps -a 查看所有的容器,包括已经停止的

$ docker ps -a -q 查看已经停止的容器

$ docker inspect 容器前缀或者镜像前缀

//搜索镜像
$ docker search 镜像名称

$ docker stop 容器id

// 查看docker日志
$ sudo cat /var/log/messages | grep docker

docker run

  • -p

    -p 2222:22 端口映射,访问运行docker的主机的2222端口,等同于访问容器的22端口、也就是ssh端口

    docker run -p 2222:22 zyh/login /usr/sbin/sshd -D

    注意:docker直接使用iptables来实现端口映射,因此,需要主机使用iptables,iptables -t nat -L

  • -v

    -v /usr/owl:/usr/owl

    主机目录:docker容器挂载目录, 访问容器挂载目录,即为访问主机目录

  • -i

    打开容器的标准的输入STDIN

Docker镜像

  • 删除名称为<none>的镜像,这是一个危险操作,因为images创建是分层的,其中一些就是没有名字的

      $ docker rmi $(docker images | awk '/^<none>/ { print $3 }')
    
  • 通过容器cc820b60f2aa生成镜像。镜像名称为123

      $ docker commit cc820b60f2aa 123
    

docker save & load

$ docker save kiwenlau/hadoop:1.0 > /home/kiwenlauBackUp.tar
$ scp /home/kiwenlauBackUp.tar root@10.0.0.171:/home/

$  docker load < /home/kiwenlauBackUp.tar

常见问题

Cannot connect to the Docker daemon. Is 'docker -d' running on this host?

  • 使用 ps命令查看进程 ps -ef | grep docker

  • sudo service docker start 重启docker服务试试

  • 如果进程的确在运行,那可能是当前用户 is not allowd to access docker

To do this add your self to the docker group.

$ sudo usermod -aG docker <userid>
  • 也可能是docker守护进程属于root用户,当前非root用户可以加上sudo来运行docker 命令

docker attach没有反应

$ docker run -p 22 /usr/sbin/sshd -D

这样的一个容器的驻守程序就是sshd。所以docker attact截取的输入输出也就是该进程(/user/sbin/sshd -D)的。而这样一个进程,跟交互型的bash程序是不一样的。这个进程是不接受输入的。所以你的输入不会有什么效果。如果想交互,可以尝试 docker run -d -p 22 /bin/bash。

docker save & load

$ scp /home/kiwenlauBackUp.tar root@10.0.0.171:/home/

WARNING: IPv4 forwarding is disabled. Networking will not work.

解决办法:

$ vi /etc/sysctl.conf

或者

$ vi /usr/lib/sysctl.d/00-system.conf

添加如下代码:

$ net.ipv4.ip_forward=1

重启network服务

$ systemctl restart network

查看是否修改成功

$ sysctl net.ipv4.ip_forward

如果返回为“net.ipv4.ip_forward = 1”则表示成功了

相关文章

  • docker学习

    docker镜像 docker容器 docker仓库 安装docker docker版本 docker分为社区版和...

  • Docker安装和运行

    获取Docker 安装Docker 验证安装 1、获取Docker Docker for Mac Docker f...

  • Docker知识手册

    Docker 容器 启动docker:docker start 查看docker运行状态:docker stats...

  • Docker简介

    章节介绍 # Docker是什么# Docker包括什么# Docker镜像# Docker编配# Docker还...

  • Docker 常用操作

    Docker docker: 18.09.4、nvidia-docker: 2.0.3 docker 19.03 ...

  • rancher+harbor离线安装

    安装docker,此docker为社区版docker。docker官方文档:https://docs.docker...

  • Linux之Docker

    Linux之Docker 目录 Docker简单介绍 在线Docker安装 离线Docker安装 Docker简单...

  • Docker常用命令

    Docker常用命令 Docker帮助命令 docker version:查看docker版本 docker in...

  • Docker基础操作

    Docker部署 Docker安装 镜像加速 Docker 基础命令 Docker镜像管理 搜索镜像docker ...

  • docker容器状态查看命令集

    docker inspect 用法 : docker inspect [docker名称/docker short...

网友评论

      本文标题:Docker

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