ubuntu-docker入门到放弃(二)docker初探(基本用法及命令)
一、使用公共镜像
docker有一个开源的镜像管理系统,上面有很多常见的images,如mysql,nginx,tomcat等,可以直接根据自己的需求下载下来用,还有系统images,如redhat,ubuntu,unix,windows等
先下载一个mysql来玩玩:
1、查询跟mysql有关的镜像:
#docker search mysql
这里我们使用第一个mysql镜像,镜像是可以指定版本来下载的:
2、下载mysql镜像:
#docker pull mysql:5.6
3、查看已有的镜像资源:
#docker images
4、查看已经运行的docker实例,这里有一个-a选项,不加这个参数只显示当前运行的实例,加上这个选项是查看所有状态的实例:
#docker ps
#docker ps -a
5、使用我们刚刚下载的image启动一个mysql实例:
# docker run -dit --restart=always --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=linkface mysql:5.7
解释一下上面的参数:
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互。
-p <HOT_PORT>:<CONTAINER_PORT>:指定端口。
-d:允许容器在后台运行,并返回id。
--name:指定一个别名。
-e:设置环境变量
如果在生产使用docker搭建mysql,建议将数据目录、日志目录等常用目录映射出来,这个在后续的学习中,会逐步补充。
#docker ps
这个就是我们刚刚启动的镜像啦,让我们进去看看,docker exec
# docker exec -it 8619863675ee /bin/bash
这样我们就进入了我们刚刚启动的容器了,这个就是基于我们自身宿主机的操作系统的,进去后可以使用系统命令来操作,先看看端口:
# netstat -lntp
bash: netstat: command not found
因为docker是最小化安装的,所以大多数命令都是没有,需要自己安装:
#apt-get update
#apt-get install net-tools
#netstat -lntp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp6 0 0 :::3306 :::* LISTEN -
看到mysql已经在运行了,我们登录mysql看看:
#mysql -uroot -p #密码就是刚刚我们在运行容器时候使用-e指定的变量值:linkface
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.24 MySQL Community Server (GPL) Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
下面我们来创建一个用户并授权:
mysql> create user 'linkface'@'%' identified by 'linkface';
Query OK, 0 rows affected (0.00 sec) mysql> grant all privileges on *.* to 'linkface'@'%';
Query OK, 0 rows affected (0.00 sec) mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec) mysql> quit
Bye
现在我们退出容器,从宿主机访问mysql试试:
退出容器使用exit。(如果启动未使用-d参数启用守护进程,则直接退出并stop容器)
#exit
# mysql -uroot -h192.168.1.1 -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.24 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sys |
+--------------------+
4 rows in set (0.00 sec)
基本命令中,有一个删除容器的命令:
#docker rm <id>
该命令会删除指定的终止状态的容器,可以配合以下参数来使用:
-f , --force=false 强行终止并删除一个运行中的容器,等同于docker stop+docker rm
-l , --link=false 删除容器的链接,但是保留容器。
-v, --volumes=false 删除容器挂载的数据卷。
至此,我们一个简单mysql就搭建完成了。
ubuntu-docker入门到放弃(二)docker初探(基本用法及命令)的更多相关文章
- Docker入门教程(二)命令
Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...
- Docker入门之 - 如何安装Docker CE
原文:Docker入门之 - 如何安装Docker CE 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/article/det ...
- Docker入门系列之二:使用dockerfile制作包含指定web应用的镜像
实现题目描述的这个需求有很多种办法,作为入门,让我们从最简单的办法开始. 首先使用命令docker ps确保当前没有正在运行的Docker实例. 运行命令docker run -it nginx: 然 ...
- docker入门小结(二)
11,网络使用 sudo docker run -d -P training/webapp python app.py sudo docker ps -l 这样将主机一个端口映射到容器中,由于app. ...
- docker入门到放弃
1.容器简介 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程, ...
- Docker入门系列之二:Docker术语
原文作者:Jeff Hale 原文地址:https://towardsdatascience.com/learn-enough-docker-to-be-useful-1c40ea269fa8 翻译: ...
- Docker从入门到放弃(1) Docker简介与安装
目录 一.Docker简介 1.Docker是什么: 2.为什么有docke的出现: 3.docker与传统容器的区别: 4.docker基本组成 5.docker工作原理: 二.Docker安装 ...
- Docker入门-docker-compose使用(二)
Docker Docker容器大行其道,直接通过 docker pull + 启动参数的方式运行比较麻烦, 可以通过docker-compose插件快速创建容器 1.安装docker-compose ...
- Docker入门篇(二)之docker的单主机网络
Docker 安装时会自动在host上创建三个网络,我们可用 docker network ls命令查看: [root@localhost ~]# docker network ls NETWORK ...
- Docker入门 .Net Core 使用Docker全程记录
https://www.cnblogs.com/flame7/p/9210986.html Docker入门 第一课 --.Net Core 使用Docker全程记录 微服务架构无疑是当前最火热的 ...
随机推荐
- 【转载】 深度强化学习处理cartpole为什么reward很难超过200?
原贴地址: https://www.zhihu.com/question/266493753 一直在看强化学习方面的内容,cartpole是最简单的入门实验环境,最原始的评判标准是连续100次epis ...
- php 中 ">>" "<<" 的含义
运算符 说明 <<< 管道,引入自c++.将被其后标记括起来的内容视为一个字符串处理,其中的变量会被展开 << 左移,位操作算符 >> ...
- 餐巾计划问题 zwk费用流解法
«问题描述:一个餐厅在相继的N 天里,每天需用的餐巾数不尽相同.假设第i天需要ri块餐巾(i=1,2,…,N).餐厅可以购买新的餐巾,每块餐巾的费用为p分:或者把旧餐巾送到快洗部,洗一块需m天,其费用 ...
- JavaScript ES6格式化字符串方法
js想要动态更新文本内容,在ES5中没有格式化字符串的方法,在ES6中是有字符串格式化的方法的. 使用左上角数字1旁边的符号定义字符串.先定义好需要拼接的字符串,在字符串内部使用 ${变量名} 进行拼 ...
- gdb debug
http://www.cnblogs.com/life2refuel/p/5396538.html
- Kafka设计解析:Kafka High Availability
Kafka在0.8以前的版本中,并不提供High Availablity机制,一旦一个或多个Broker宕机,则宕机期间其上所有Partition都无法继续提供服务.若该Broker永远不能再恢复,亦 ...
- 查看win电脑支持的最大内存?
wmic memphysical get maxcapacity 67108864 大约64G
- YIT-CTF—社工类
下载图片
- 20165313 《Java程序设计》第一周学习总结
教材学习内容总结 1.Java的地位 1.网络地位 2.语言地位 3.需求地位 2.Java的特点 1.简单 2.面向对象 3.平台无关 4.多线程 5.动态 3.安装JDK(重点) 注释:需修改系统 ...
- 通过阻止 touchstart 事件,解决移动端的 BUG
在 iOS10 下,即使设置了 meta 标签的 user-scalable=no 依然不能阻止用户缩放. 解决此 BUG 的方法是阻止 PC 事件: document.addEventListene ...