一、使用公共镜像

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初探(基本用法及命令)的更多相关文章

  1. Docker入门教程(二)命令

    Docker入门教程(二)命令 [编者的话]DockerOne组织翻译了Flux7的Docker入门教程,本文是系列入门教程的第二篇,介绍了Docker的基本命令以及命令的用法和功能. 在Docker ...

  2. Docker入门之 - 如何安装Docker CE

    原文:Docker入门之 - 如何安装Docker CE 版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/u012055638/article/det ...

  3. Docker入门系列之二:使用dockerfile制作包含指定web应用的镜像

    实现题目描述的这个需求有很多种办法,作为入门,让我们从最简单的办法开始. 首先使用命令docker ps确保当前没有正在运行的Docker实例. 运行命令docker run -it nginx: 然 ...

  4. docker入门小结(二)

    11,网络使用 sudo docker run -d -P training/webapp python app.py sudo docker ps -l 这样将主机一个端口映射到容器中,由于app. ...

  5. docker入门到放弃

    1.容器简介 Docker是一个开源的应用容器引擎,使用Go语言开发,基于Linux内核的cgroup,namespace,Union FS等技术,对应用进程进行封装隔离,并且独立于宿主机与其他进程, ...

  6. Docker入门系列之二:Docker术语

    原文作者:Jeff Hale 原文地址:https://towardsdatascience.com/learn-enough-docker-to-be-useful-1c40ea269fa8 翻译: ...

  7. Docker从入门到放弃(1) Docker简介与安装

    ​ 目录 一.Docker简介 1.Docker是什么: 2.为什么有docke的出现: 3.docker与传统容器的区别: 4.docker基本组成 5.docker工作原理: 二.Docker安装 ...

  8. Docker入门-docker-compose使用(二)

    Docker  Docker容器大行其道,直接通过 docker pull + 启动参数的方式运行比较麻烦, 可以通过docker-compose插件快速创建容器 1.安装docker-compose ...

  9. Docker入门篇(二)之docker的单主机网络

    Docker 安装时会自动在host上创建三个网络,我们可用 docker network ls命令查看: [root@localhost ~]# docker network ls NETWORK ...

  10. Docker入门 .Net Core 使用Docker全程记录

    https://www.cnblogs.com/flame7/p/9210986.html Docker入门 第一课 --.Net Core 使用Docker全程记录   微服务架构无疑是当前最火热的 ...

随机推荐

  1. Git版本退回和修改

    首先我们来看看我们的第一个版本: 我的git文件如下: 那我们来修改一下这个文件 然后提交 那我们来查看一下提交的记录:使用git log 当我们使用 git log --pretty=oneline ...

  2. xdoj-1211 (尧老师要教孩子解方程) :多项式除法

    想法: 1 由于所有a[i] 是不为0的整数 所以解x是整数 2 其次解是an的约数 3 分解a[n] 用多项式除法判断约数是否为整式的解 #include<cstdio> #includ ...

  3. 第六课cnn和迁移学习-七月在线-cv

    ppt 参数共享终于把拿一点想清楚啦,一定要知道w是矩阵! 在传统BP中,w前后连接时是all的,辣么多w使得你给我多少图片我就能记住多少信息-->导致过拟合-->cnn当中权值共享 激励 ...

  4. awk 相关的复习

    1. awk 引用外部变量: aa=666  echo "." | awk -v GET_A=$aa '{print GET_A}' . sort -n fuxi.awk |awk ...

  5. hdu2594 Simpsons’ Hidden Talents LCS--扩展KMP

    Homer: Marge, I just figured out a way to discover some of the talents we weren’t aware we had.Marge ...

  6. js---通配符选择器

    原味转自:http://blog.sina.com.cn/s/blog_6e001be701017kaz.html 1.选择器 (1)通配符: $("input[id^='code']&qu ...

  7. 【UOJ#22】【UR#1】外星人

    2044年,Picks建成了人类第一台基于量子理论的银河系信息传递机. Picks游遍了宇宙,雇用了 n 个外星人来帮他作为信息传递机的中转站.我们将外星人依次编号为 1 到 n,其中 i 号外星人有 ...

  8. MySql中的一些小坑

    1. mysql启动时,若使用mysqld_safe的方式启动服务,需要使用mysqladmin shutdown的方式来停止服务. 若使用mysqld shutdown的方式停止服务,有可能会出现如 ...

  9. 【java规则引擎】《Drools7.0.0.Final规则引擎教程》第4章 4.5RHS语法

    转载至:https://blog.csdn.net/wo541075754/article/details/76651073 RHS语法 使用说明 RHS是满足LHS条件之后进行后续处理部分的统称,该 ...

  10. pread和pwrite函数

    先来介绍pread函数 [root@bogon mycode]# cat test.c #include<stdio.h> #include<stdlib.h> #includ ...