Docker--从安装到搭建环境
docker
1. ubuntu下安装docker
安装docker有两种方法:
一种是用官方的bash脚本一键安装。
直接一条命令就解决了:
$ curl -sSL https://get.docker.com/ | sh
另一种是一步一步的安装。
ubuntu安装vmtools


1.更新apt源
命令:sudo vim /etc/apt/sources.list
- 图形化换源



更新
apt-get update
2.安装docker
1. 安装 Docker
$ sudo apt-get install docker.io
2.开启docker服务
service docker start
systemctl restart docker
- 修改为国内源
pull一个镜像是真的慢
所以修改/etc/docker/daemon.json文件
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}
修改保存后重启 Docker 以使配置生效。
systemctl restart docker
3.docker基本命令
docker search ubuntu //搜索镜像
docker pull //下载镜像
docker images // 查看下载的镜像
docker ps //查看正在运行的容器
docker ps -a // 查看容器列表
docker re/start unbuntu //重启/开启容器ubuntu
docker stop ubuntu //停止容器ubuntu
docker attach ubuntu //连接容器ubuntu
docker rm ubuntu //删除容器
docker rmi ubuntu //删除镜像
docker run -it --name myubuntu -p 80:8080 -p 22:22 ubuntu /bin/bash //创建并使用镜像
docker exec -it a62 /bin/bash
Docker 的tag似乎更加灵活,Docker 将文件等信息的变动抽象为一次次的commit,每一次commit以后可能走向不同的分支,当我们完成Docker file的构建后,会生成一串无规则的字符串代表此次生成的ID,此时,tag的作用就是为他创建一个友好的名称,方便我们对镜像库的管理
docker tag medicean/vulapps:c_cmseasy_1 pentest:v1

docker run -d -it pentest:v1
进入docker 镜像的shell
docker exec -it 88f /bin/bash

查看下服务

4.docker搭建网站直接访问
如果直接建立容器,不映射端口的话,只能通过docker的IP访问网站。


- 端口映射
docker run -d -it -p 8080:80 pentest:v1
就能直接通过虚拟机ip加端口访问


5. commit 将容器的状态保存为镜像
docker commit c43c web1 //容器ID,镜像名
更为标准点的如下:
$ sudo docker commit -m "Added json gem" -a "Docker Newbee" 0b2616b0e5a8 ouruser/sinatra:v2
其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。
6. Docker cp 命令
将主机/www/runoob目录拷贝到容器96f7f14e99ab的/www目录下。
docker cp /www/runoob 96f7f14e99ab:/www/
将主机/www/runoob目录拷贝到容器96f7f14e99ab中,目录重命名为www。
docker cp /www/runoob 96f7f14e99ab:/www
将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中。
docker cp 96f7f14e99ab:/www /tmp/
7.存储镜像
如果要导出镜像到本地文件,可以使用 docker save 命令。
docker save -o web.tar web1
Docker--从安装到搭建环境的更多相关文章
- npm基本操作(安装,搭建环境,打包)
Nodejs(npm)环境安装: npm的安装配置(从nodejs网站上安装npm): Windows安装Nodejs操作步骤如下: 64 位安装包下载地址 : https://nodejs.org/ ...
- linux Cenos-7.0下安装jdk搭建环境变量
搭建linux系统的java环境本人目前所知有两种方式: 第一种是从oracle官网下载linux系统的jdk版本: 第二种是使用yum命令的方式下载安装,咱们今天讲的是第一种方式. 一.工具准备: ...
- ThingsBoard安装编译搭建环境踩坑记录
1.首先从github拉下来项目,我们采用源码编译的方式部署 git clone https://github.com/thingsboard/thingsboard.git 2.切换分支 git c ...
- SSM3-SVN的安装和搭建环境
1.安装svn 2.创建仓库 3.设置用户 . 4.eclipse和svn的集成 eclipse里安装SVN插件,一般来说,有两种方式: 直接下载SVN插件,将其解压到eclipse的对应目录里 使用 ...
- Docker 快速安装&搭建 Mysql 环境
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- Docker 快速安装&搭建 MongDB 环境
欢迎关注个人微信公众号: 小哈学Java, 文末分享阿里 P8 高级架构师吐血总结的 <Java 核心知识整理&面试.pdf>资源链接!! 个人网站: https://www.ex ...
- Docker的安装使用-第1章
Docker的安装 1.1 环境说明 操作系统: Red Hat Enterprise Linux Server release 7.1 软件环境: 系统已经配置了yum安装源 软件版本: docke ...
- UIAutomator2、Appium、Robotium搭建环境与框架对比
UIAutomator2.Appium.Robotium搭建环境与框架对比 一.框架介绍 Appium 特点 appium 是一个自动化测试开源工具,支持 iOS 平台和 Android 平台上的原生 ...
- Windows和Centos下Docker的安装配置
Windows和Centos下Docker的安装配置 windows环境下的安装(win10) 在Windows系统上需要利用toolbox来安装Docker,现在 Docker 有专门的 Win10 ...
随机推荐
- VS2012与VS2015同时安装用VS2012创建MFC程序时弹出编译错误”fatal error C1083: 无法打开包括文件:“mprapidef.h”: No such file or directory”的解决办法
在WIndows 7操作系统上同时安装VS2012与VS2015并用VS2012创建MFC程序时弹出编译错误”fatal error C1083: 无法打开包括文件:“mprapidef.h”: No ...
- Shell笔记-02
Shell支持自定义变量. 定义变量 定义变量时,变量名不加美元符号($),如: variableName="value" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编 ...
- Java 常用IO流操作详解
1.基本概念 IO:Java对数据的操作是通过流的方式,IO流用来处理设备之间的数据传输,上传文件和下载文件,Java用于操作流的对象都在IO包中. 2.IO流的分类 图示:(主要IO流) 3.字节流 ...
- 客户端对象模型之Excel数据导入到列表
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ...
- JS与OC交互,JS中调用OC方法(获取JSContext的方式)
最近用到JS和OC原生方法调用的问题,查了许多资料都语焉不详,自己记录一下吧,如果有误欢迎联系我指出. JS中调用OC方法有三种方式: 1.通过获取JSContext的方式直接调用OC方法 2.通过继 ...
- Selenium+Chrome或Firefox的动态爬虫程序
新版本的Selenium不再支持PhantomJS了,请使用Chrome或Firefox的无头版本来替代.
- Windows Redis 取消保护模式C#进行访问
运行redis服务程序和客户端程序设置即可. config set protected-mode “no”
- ElasticSearch优化系列七:优化建议
尽量运行在Sun/Oracle JDK1.7以上环境中,低版本的jdk容易出现莫名的bug,ES性能体现在在分布式计算中,一个节点是不足以测试出其性能,一个生产系统至少在三个节点以上. ES集群节点规 ...
- C++ —— 非类中使用const定义常量的初始化,以及#define和typedef的区别
总结一下在非类中使用const关键字定义常量时的初始化问题,亲测VS2015.顺便记录#define宏和typedef的区别. 1 首先对const声明的常量的初始化做简单小结: , w2 = , w ...
- PMP考试总结
9月8日参加完PMP考试,从上第一次课7月14日到考试,历经56天.5次面授课,3次模考,对整个项目管理有了清晰的认识和学习.感觉上课是一回事,做题又是一回事,考试又是另外一回事.考试一共4个小时,从 ...