Docker 概述

Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。

Docker 基本概念

  • 镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
  • 仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。

Docker 安装

在平时学习过程中,接触到docker,开发也介绍,docker比虚拟机好用很多,所以自己就开始捣鼓捣鼓。docker与虚拟机相比,确实轻便许多。刚开始是在windows环境下搭建,但系统是专业版,使用网上的方法搭建,就是没有成功。所以就用了如下这种方法。好了,那我们就开始搭建docker环境吧。

Windows Docker 安装

1. 下载docker toolbox

下载地址:docker toolbox ,选择docker toolbox.exe下载

2. 安装docker toolbox

双击下载的安装包,一路 next 即可。安装后成功后,电脑桌面会出现如下图标:

3. docker初始化

双击如上步骤中的图标,会初始化docke,最后出现如下截图,初始化完毕进入docker命令模式。

Ubuntu Docker 安装

在windows环境学习过程中,环境时不时就出了问题,然后自己也要用到linux系统,赶上阿里云服务器的活动,索性就整了台服务器,学习那就更方便了。linux系统搭建docker很简单,我们来看。

1. apt-get update

使用命令 apt-get update 更新源

2. apt-get install docker

使用命令 apt-get install docker 安装即可,安装后用命令 docker run hello-world 验证是否安装成功,打印出以下信息则安装成功。

root@iZuf6hobanx6hbvtsep8ykZ:/# docker run hello-world

Unable to find image 'hello-world:latest' locally

latest:Pulling from library/hello-world

0e03bdcc26d7:Pull complete

Digest: sha256:7f0a9f93b4aa3022c3a4c147a449bf11e0941a1fd0bf4a8e6c9408b2600777c5

Status: Downloaded newer image for hello-world:latest

Hello from Docker! This message shows that your installation appears to be working correctly.

To generate this message, Docker took the following steps:
1. The Docker client contacted the Docker daemon.
2. The Docker daemon pulled the "hello-world" image from the Docker Hub. (amd64)
3. The Docker daemon created a new container from that image which runs the executable that produces the output you are currently reading.
4. The Docker daemon streamed that output to the Docker client, which sent it to your terminal.

To try something more ambitious, you can run an Ubuntu container with: $ docker run -it ubuntu bash

Share images, automate workflows, and more with a free Docker ID: https://hub.docker.com/

For more examples and ideas, visit: https://docs.docker.com/get-started/

Docker 基本命令

docker使用,肯定离不开命令的操作,接下来就列举下,我近期在学习过程中用到的基本命令。

docker run 命令

创建一个新的容器并运行一个命令

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

  • 选项参数

    • -d: 后台运行容器,并返回容器ID;
    • -i: 以交互模式运行容器,通常与 -t 同时使用;
    • -P: 随机端口映射,容器内部端口随机映射到主机的端口
    • -p: 指定端口映射,格式为:主机(宿主)端口:容器端口
    • -t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
    • --name="jenkins": 为容器指定一个名称。

Docker start/stop/restart 命令

docker start :启动一个或多个已经被停止的容器
docker stop :停止一个运行中的容器
docker restart :重启容器

docker start [OPTIONS] CONTAINER [CONTAINER...]
docker stop [OPTIONS] CONTAINER [CONTAINER...]
docker restart [OPTIONS] CONTAINER [CONTAINER...]

启动已被停止的容器jenkins

docker start jenkins

停止运行中的容器jenkins

docker stop jenkins

重启容器jenkins

docker restart jenkins

Docker rm 命令

docker rm :删除一个或多个容器。

Docker kill 命令

docker kill :杀掉一个运行中的容器。

  • 选项参数

    • -s :向容器发送一个信号

Docker exec 命令

docker exec :在运行的容器中执行命令。

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

Docker ps 命令

docker ps : 列出容器

docker ps [OPTIONS]

  • 选项参数

    • -a :显示所有的容器,包括未运行的。
    • -f :根据条件过滤显示的内容。
    • -l :显示最近创建的容器。
    • -n :列出最近创建的n个容器。
    • -q :静默模式,只显示容器编号。
    • -s :显示总的文件大小。

Docker cp 命令

docker cp :用于容器与主机之间的数据拷贝。

docker cp [OPTIONS] CONTAINER:SRCPATH DESTPATH|-
docker cp [OPTIONS] SRCPATH|- CONTAINER:DESTPATH

将主机/www/phpwind目录拷贝到容器975705051af9的/www目录下。

docker cp /www/phpwind 975705051af9:/www/

将容器975705051af9的/www目录拷贝到主机的/tmp目录中。

docker cp 975705051af9:/www /tmp/

Docker pull 命令

docker pull : 从镜像仓库中拉取或者更新指定镜像.

docker pull [OPTIONS] NAME[:TAG|@DIGEST]

Docker images 命令

docker images : 列出本地镜像。

docker images [OPTIONS] [REPOSITORY[:TAG]]

Docker rmi 命令

docker rmi : 删除本地一个或多少镜像。

docker rmi [OPTIONS] IMAGE [IMAGE...]

问题总结

1. 安装失败

报错提示:Installation failed:one prerequisite is not fullfilled,如下所示:

问题原因:版本冲突。

解决办法:用文中的windows环境安装步骤搭建即可。

2. 启动docker失败

报错提示:Looks like something went wrong in step ´Finalize´

解决办法:到docker安装目录,找到start.sh启动文件,将clear注释掉,重新启动即可。

STEP="Finalize"
clear
cat << EOF

Docker系列——Docker安装&基础命令的更多相关文章

  1. Docker系列一之基础快速入门企业实战

    1.1什么是LXC LXC为Linux Container的简写.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚 ...

  2. Docker系列(一)安装

    操作系统版本:Centos7 Docker版本:1.8 设置安装源 1  cat > /etc/yum.repos.d/docker.repo << -EOF 2  [dockerr ...

  3. docker 系列 - Docker 安装和Hub Mirror地址设置

    ======================为什么要使用Docker?======================= 容器真是个好东西, (1)容器能提供隔离性; (2)容器能打包环境, 简化部署难度 ...

  4. docker下centos安装ping命令

    https://blog.csdn.net/king_gun/article/details/78423115 [问题] 从docker hub上拉取到则镜像centos:6.7在执行ping命令是报 ...

  5. 【docker】 docker容器内部安装vi命令

    有时会需要在docker容器内使用vi命令,但是新启动的docker容器内并没有vi命令,那就需要自己安装一个 1.使用命令 apt-get update 2.进行安装 apt-get install ...

  6. docker的基本安装和命令详解

    docker的安装 yum install docker-io docker的启动 /bin/systemctl start docker.service docker查找镜像 docker sear ...

  7. Docker 使用笔记-常用基础命令

    常用基础命令 环境:Linux Ubuntu 1.查看docker信息 docker version | docker info 2.启动docker服务 sudo systemctl start d ...

  8. Docker 镜像管理及基础命令(二)

    Docker 常用命令: ## Docker 登录下载镜像: docker login # 登录官方hub.docker.com docker pull nginx:alpine # 下载nginx的 ...

  9. Docker Compose的安装及命令补全

    安装Compose Compose的安装有多种方式,例如通过shell安装.通过pip安装.以及将compose作为容器安装等等.本文讲解通过shell安装的方式.其他安装方式如有兴趣,可以查看Doc ...

随机推荐

  1. 数据结构C语言实现----树

    树的基本知识点 树的定义 树的ADT(抽象数据类型) 树的储存结构 二叉树的定义 二叉树的储存结构 遍历二叉树 二叉树的建立 二叉树的ADT typedef struct BiTNode { Elem ...

  2. Python之数据结构:列表、元组、字典、set

    列表 列表里可以存储任意的数据类型.可修改的结构,用[ ]括起来表示或用函数list()构建. eg: y = [1,1.5,'hello',True] 列表还可以嵌套列表 eg: y = [1,1. ...

  3. Linux系统安装Samba共享服务器详解及安装配置

    一.简介 Samba服务程序是一款基于SMB协议并由服务端和客户端组成的开源文件共享软件,实现了Linux和windows系统间的文件共享.SMB(Server Messages Block,信息服务 ...

  4. Python os.chroot() 方法

    概述 os.chroot() 方法用于更改当前进程的根目录为指定的目录,使用该函数需要管理员权限.高佣联盟 www.cgewang.com 语法 chroot()方法语法格式如下: os.chroot ...

  5. PHP natsort() 函数

    ------------恢复内容开始------------ 实例 对数组进行排序: <?php$temp_files = array("temp15.txt"," ...

  6. PHP show_source() 函数

    实例 对测试文件("test.php")进行 PHP 语法高亮显示: <html><body><?phpshow_source("test. ...

  7. PHP mysqli_thread_safe() 函数

    定义和用法 mysqli_thread_safe() 函数返回是否将客户端库编译成 thread-safe. 语法 mysqli_thread_safe();高佣联盟 www.cgewang.com ...

  8. ABC 162 F Select Half dp 贪心

    LINK:Select Half 考试的时候调了一个小时给调自闭了 原来是dp的姿势不太对. 首先 容易发现 奇数最多空2个位置 偶数最多空1一个位置 然后 设f[i][j][k]表示第i个数选了没有 ...

  9. LVS-NAT:搭建HTTP及HTTPS负载均衡集群

    目录 LVS-NAT:搭建HTTP及HTTPS负载均衡集群 环境说明: 搭建NAT模式的HTTP负载集群 1. 配置好IP地址信息 2. DR上开启IP转发 3.DR上配置lvs-nat的转发机制 4 ...

  10. python网络爬虫实战PDF高清完整版免费下载|百度云盘|Python基础教程免费电子书

    点击获取提取码:vg1y python网络爬虫实战帮助读者学习Python并开发出符合自己要求的网络爬虫.网络爬虫,又被称为网页蜘蛛,网络机器人,是一种按照一定的规则,自动地抓取互联网信息的程序或者脚 ...