Docker系列——Docker安装&基础命令
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安装&基础命令的更多相关文章
- Docker系列一之基础快速入门企业实战
1.1什么是LXC LXC为Linux Container的简写.Linux Container容器是一种内核虚拟化技术,可以提供轻量级的虚拟化,以便隔离进程和资源,而且不需要提供指令解释机制以及全虚 ...
- Docker系列(一)安装
操作系统版本:Centos7 Docker版本:1.8 设置安装源 1 cat > /etc/yum.repos.d/docker.repo << -EOF 2 [dockerr ...
- docker 系列 - Docker 安装和Hub Mirror地址设置
======================为什么要使用Docker?======================= 容器真是个好东西, (1)容器能提供隔离性; (2)容器能打包环境, 简化部署难度 ...
- docker下centos安装ping命令
https://blog.csdn.net/king_gun/article/details/78423115 [问题] 从docker hub上拉取到则镜像centos:6.7在执行ping命令是报 ...
- 【docker】 docker容器内部安装vi命令
有时会需要在docker容器内使用vi命令,但是新启动的docker容器内并没有vi命令,那就需要自己安装一个 1.使用命令 apt-get update 2.进行安装 apt-get install ...
- docker的基本安装和命令详解
docker的安装 yum install docker-io docker的启动 /bin/systemctl start docker.service docker查找镜像 docker sear ...
- Docker 使用笔记-常用基础命令
常用基础命令 环境:Linux Ubuntu 1.查看docker信息 docker version | docker info 2.启动docker服务 sudo systemctl start d ...
- Docker 镜像管理及基础命令(二)
Docker 常用命令: ## Docker 登录下载镜像: docker login # 登录官方hub.docker.com docker pull nginx:alpine # 下载nginx的 ...
- Docker Compose的安装及命令补全
安装Compose Compose的安装有多种方式,例如通过shell安装.通过pip安装.以及将compose作为容器安装等等.本文讲解通过shell安装的方式.其他安装方式如有兴趣,可以查看Doc ...
随机推荐
- Java线程-- 线程池
1.线程池概念 线程池,其实就是一个容纳多个线程的容器,其中的线程可以反复使用,省去了频繁创建线程对象的操作,无需反复创建线程而消耗过多资源. 为什么要使用线程池? 在java中,如果每个请求到达就创 ...
- Python的条件判断与循环
1.if语句 Python中条件选择语句的关键字为:if .elif .else这三个.其基本形式如下 if condition: blockelif condition: block...else: ...
- kylin streaming原理介绍与特点浅析
目录 前言 kylin streaming设计和原理 架构介绍 streaming coordinator streaming receiver cluster kylin streaming数据构建 ...
- PHP strrchr() 函数
实例 搜索 "world" 在字符串中的位置,并返回从该位置到字符串结尾的所有字符: <?php高佣联盟 www.cgewang.comecho strrchr(" ...
- 初学编程丨从零开始学习编程的基本路线,BAT程序员亲手总结!
编程并不是说代码怎么写,框架怎么用,业务怎么转换为代码逻辑,这些都不是编程的要素(但却是工作的刚需......).我认为按照下面这个路线来学习编程,会使自己在学习的路途上少去很多问题(比如为啥会有多线 ...
- luogu P3403 跳楼机 同余最短路
LINK:跳楼机 很早之前就想学的一个东西.发现这个东西果然神奇. 我们要找到 所有的 w满足 \(w=1+ax+by+cz\).且 \(1\leq w\leq h\) 暴力枚举是不行的. 做法是这样 ...
- HTML与XHTML之间的区别
HTML与XHTML之间的差别,粗略可以分为两大类比较:一个是功能上的差别,另外是书写习惯的差别.关于功能上的差别,主要是XHTML可兼容各大浏览器.手机以及PDA,并且浏览器也能快速正确地编译网页. ...
- js 读取word和txt(react版) + 正则分割段落
show the code 前提:需要mammoth包~ import React, { useState, useReducer } from 'react'; import { Button, A ...
- 文字识别还能这样用?通过Python做文字识别到破解图片验证码
前期准备 1. 安装包,直接在终端上输入pip指令即可: # 发送浏览器请求 pip3 install requests # 文字识别 pip3 install pytesseract # 图片处理 ...
- JavaScript calss语法糖
JavaScript calss语法糖 基础知识 严格意义上来讲,在Js中是没有类这一概念的. 我们可以运用前面章节提到的构造函数来模拟出类这一概念,并且可以通过原型对象的继承来完美的实现实例对象方法 ...