Docker学习:Docker安装和基本使用
Docker
Docek是一种容器技术。容器是一种轻量级、可移植、自打包的软件技术,使应用程序可以在几乎任何地方以相同的方式运行。
使用者可以在笔记本上创建并测试好的容器,无需任何修改就能够在生产系统的虚拟机、物理服务器或公有云主机上运行。
Docker安装
安装docker会用到一下命令
//更新apt-get
apt-get update
//安装docker
apt-get install docker.io
//配置加速器
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://dockerhub.azk8s.cn",
"https://mirror.ccs.tencentyun.com",
"https://ytji6dx6.mirror.aliyuncs.com"
]
}
EOF
//重启daemon
systemctl daemon-reload
//重启docker
systemctl restart docker
安装截图如下
第一步:更新apt-get命令
第二步:安装docker
第三步:配置加速器
第四步:重启daemon和Docker
Docker基本使用
docker运行
docker run -p 3306:3306 --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
说明:
docker run
:docker从镜像启动一个容器命令
--name
:这是docker run命令的参数,给要启动的容器起个名字
-p
:端口映射,前面的是宿主端口号,后面的是容器端口号
-v
:挂载宿主机目录到镜容器里,前面的是宿主机目录,后面的是容器目录,那么后面的目录为什么是/var/lib/mysql呢?执行docker inspect -f {{.Config.Volumes}} bob-mysql
就可以看到了
-e
——指的是环境变量,在启动MySQL镜像时,可以传入一个或多个环境变量修改MySQL实例的配置。这里一定要注意的是启动容器的数据目录已经包含了数据库,这时环境变量就不起作用了。
MySQL镜像支持一下环境变量
MYSQL_ROOT_PASSWORD
—— 设置MySQL root用户的密码
MYSQL_DATABASE
—— 指定在镜像启动时创建的数据库名称,如果同时指定了MYSQL_USER
,MYSQL_PASSWORD
,则会授予该用户对这个数据库ALL的权限(GRANT ALL)
MYSQL_USER
,MYSQL_PASSWORD
—— 创建一个用户并设置它的密码
MYSQL_ALLOW_EMPTY_PASSWORD
—— 设置为yes
允许容器启动时root用户密码留空
MYSQL_RANDOM_ROOT_PASSWORD
—— 为root用户生成随机密码(使用pwgen
)
MYSQL_ONETIME_PASSWORD
—— 设置root用户初始化完后过期,强制登录时修改密码。注意这个功能只支持MySQL 5.6+
查看镜像版本
docker version
镜像下载
docker pull mysql:5.6
说明:
- 这里
mysql:5.6
是镜像名称和版本号,若是不确定版本,可以使用docker pull mysql
则直接下载最新的版本
查询镜像
docker image ls
删除镜像
docker rmi mysql
查看运行的容器
docker ps
说明:
docker ps -a
:显示所有的容器
docker ps
:显示运行的容器
更多命令使用方法docker ps --help
进入容器
docker exec -it id /bin/bash
查看容器日志
# 退出容器
docker logs -f id
容器停止/启动
docker stop/start id
删除容器
docker rm 容器id
仓库登录
docker login
镜像构建
# 使用Dockerfile创建名为 yucy/mysql的镜像
docker build --rm=true -t yucy/mysql
镜像打tag
# 将镜像ubuntu:16.04标记为 yucy/ubuntu:V1 镜像
docker tag ubuntu:16.04 yucy/ubuntu:V1
镜像推送
docker push 注册用户名/镜像名
安装问题解决
第一次安装virtualbox的时候,没有设置虚拟电脑的保存路径,导致C盘爆满,具体可参考Docker学习:virtualbox安装和配置,下面是另外一个很纠结的问题,直到今天才解决!!!
第一次使用docker pull mysql
时,一直提示no matching manifest for unknown in the manifest list entries
在网上查找了很多资料,有解决方法是windows上配置daemon.json
中增加配置"experimental": true
,可是本机是linux虚拟机,在json文件中增加了这个配置选项,再次pull
镜像仍是出错。
后来反复查看虚拟机ios文件和docker
的安装要求,发现是虚拟机的版本问题,重新安装ubuntu-16.04.6-server-amd64的虚拟机,问题圆满解决
Docker学习:Docker安装和基本使用的更多相关文章
- docker学习(1) 安装
docker是啥就不多讲了,简言之就是更轻量.更牛叉的新一代虚拟机技术.下面是安装步骤: 一.mac/windows平台的安装 docker是在linux内核基础上发展而来的,无法直接运行在mac/w ...
- docker学习-----docker服务的安装
docker 以下观点个人理解,只做参考 一.docker本身的优势 1.docker他本身是一个容器,用来方便我们项目打包,做服务器虚拟化,统一开发者环境等多种优势:运行于docker上的项目可以快 ...
- docker学习笔记-安装
安装docker Ubuntu Docker 安装 Docker 支持以下的 Ubuntu 版本: Ubuntu Precise 12.04 (LTS) Ubuntu Trusty 14.04 (LT ...
- docker学习-docker安装
win10之外的系统:https://www.docker.com/products/docker-toolbox win10系统: https://www.docker.com/pro ...
- 一、docker学习笔记——安装docker
系统win10 企业版 1.下载docker CE 2.安装.注意,由于docker 与Oracle VM VirtualBox 冲突,在windows平台上二者不可共存.你只能2选1!! 3.如果d ...
- Docker学习日记-安装Docker
Docker是什么: 简单理解就是基于go语言开发的开源的应用容器引擎. 对进程进行封装隔离,属于操作系统层面的虚拟化技术. Docker的优势: 1.更高效的利用系统资源 2.更快速的启动时间 3. ...
- Docker学习之安装mysql
1.从Docker检索mysql镜像 指令: docker search mysql 2.镜像下载 指令: docker pull mysql:5.7.19 3.查看本地镜像列表 指令: docker ...
- DOCKER学习 docker
DOCKER只能安装到LIUX系列机器上 如果WINDOWS想安装必须通过虚拟机来完成. 比如用VM,VBOX等 安装之前需要用ROOT账户 su 安装DOCKER (CE是个人版本,EE是企业版本) ...
- Docker学习—Docker简介
什么是Docker Docker 是一个开源项目,诞生于 2013 年初,最初是 dotCloud 公司内部的一个业余项目.它基于 Google 公司推出的 Go 语言实现. 项目后来加入了 Linu ...
- Docker学习--docker的基本认识
1.Docker 架构 Docker 使用客户端-服务器 (C/S) 架构模式,使用远程API来管理和创建Docker容器. Docker 容器通过 Docker 镜像来创建. 容器与镜像的关系类似于 ...
随机推荐
- iOSapp内跳转到设置界面
从app内跳转到设置界面的代码如下: NSURL *url = [NSURL URLWithString:UIApplicationOpenSettingsURLString]; if ([[UIAp ...
- valgrind报错VEX temporary storage exhausted
valgrind的使用请参考: 使用valgrind进行内存泄漏和非法内存操作检测 最近在使用valgrind进行内存泄漏检测是时,竟然报错,如下: VEX temporary storage exh ...
- BZOJ 4519 [CQOI2016]不同的最小割
这道题目很奇怪. 为什么奇怪?因为这道题用了一种叫分治最小割/最小割树的玩意. 以前从来没有见过这东西. 推荐一个讲这玩意的博客 写起来还是很顺手的. #include<iostream> ...
- mini2440 uboot烧写uImage
mini2440下烧写u-boot后,就可以用u-boot烧写linux内核了. 安装mkimage工具: apt-get install u-boot-tools 解压缩官方mini2440 lin ...
- 和菜鸟一起学android4.0.3源码之硬件gps简单移植【转】
本文转载自:http://blog.csdn.net/mwj19890829/article/details/18751447 关于Android定位方式 android 定位一般有四种方法,这四种方 ...
- sublime 3好用快捷键
sublime 3好用快捷键 自己常用 删除行 [ { "keys": ["ctrl+shift+d"], "command": " ...
- Django:locals()小技巧
locals()返回一个包含当前作用域里面的所有变量和它们的值的字典. 所以可以把views改写为 def current_datetime(request): current_date = ...
- ogg概叙、架构、进程
一. OGG 概述 OGG 全称Oracle Golden Gate. 历史: Golden Gate公司于1995年成立于美国加州旧金山,它的名称源自旧金山闻名于世的金门大桥.两位创始人Eric F ...
- BZOJ3784:树上的路径
浅谈树分治:https://www.cnblogs.com/AKMer/p/10014803.html 题目传送门:https://www.lydsy.com/JudgeOnline/problem. ...
- Vijos:P1234口袋的天空
背景 小杉坐在教室里,透过口袋一样的窗户看口袋一样的天空. 有很多云飘在那里,看起来很漂亮,小杉想摘下那样美的几朵云,做成棉花糖. 描述 给你云朵的个数N,再给你M个关系,表示哪些云朵可以连在一起. ...