我的Docker-CE学习笔记(01)

CentOS7

启动Docker

$ sudo systemctl start docker

开机自动启动Docker

$ systemctl enable docker

 查看镜像Image列表

$ docker images

 显示运行的容器Container

$ docker ps

 全部

$ docker ps -a

 启动某个Container

$ docker start fieer_mysql

停止某个容器Container

$ docker stop fieer_mysql

 删除某个容器Container

$ docker rm fieer_mysql

删除某个镜像Image

$ docker rmi mysql

 安装MySql

$ docker pull mysql/mysql-server

 docker run :创建一个新的容器并运行一个命令;

-d: 后台运行容器,并返回容器ID;

-p: 端口映射(外部端口:内部端口);

--link=[]: 添加链接到另一个容器;

-i: 以交互模式运行容器,通常与 -t 同时使用;

-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;

$ docker run -d -p 3306:3306 --name fieer_mysql mysql // error
$ docker run --name fieer_mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql //mysql
$ docker run --name fieer-wordpress \ // wordpress
    --link fieer-mysql:mysql \
    -e WORDPRESS_DB_PASSWORD=password \
    -p 80:80 \
    -d wordpress\ 

  查看logs

$ docker logs fieer_mysql

 进入mysql容器Container bash

$ docker exec -it fieer_mysql bash

 进入mysql数据库

-u: 用户名

-p: 密码

$ mysql -uroot -p

 使用mysql(名)数据库

$ use mysql

 修改数据库密码,注意使用分号“;”

$ SET PASSWORD FOR 'root'@'localhost' = PASSWORD('NewPassword');

 查看用户

$ select user,host from user;

 

 建立自己的账号

$ CREATE USER 'fieer'@'localhost' IDENTIFIED BY 'password';

 赋予权限

$ GRANT ALL PRIVILEGES ON *.* TO 'fieer'@'localhost' WITH GRANT OPTION;

 再建账号

$ CREATE USER 'fieer'@'%' IDENTIFIED BY 'password';

 赋予权限

$ GRANT ALL PRIVILEGES ON *.* TO 'fieer'@'%' WITH GRANT OPTION;

 查看字符集

$ show variables like '%char%'

 退出

$ exit;

查看文件内容

$ cat my.cnf

 附加设置,官方文档:https://dev.mysql.com/doc/refman/5.7/en/docker-mysql-more-topics.html

环境变量--env = -v

MYSQL_USER,MYSQL_PASSWORD

$ docker run -d -p 3306:3306 \
-e MYSQL_USER="fieer" \
-e MYSQL_PASSWORD="password" \
--name fieer_mysql \
mysql/mysql-server \ --character-set-server=utf8 \ --collation-server=utf8_general_ci

 查询logs内默认root密码

$ docker logs fieer_mysql
[Entrypoint] GENERATED ROOT PASSWORD: ekAHYheh4dADvAn3SapukLeq#4Hy

 完整建立mysql语句

$ docker run -d -p 3306:3306 \
-e MYSQL_USER="fieer" \
-e MYSQL_PASSWORD="password" \
-e MYSQL_ROOT_PASSWORD="RootPassword" \
--name fieer_mysql \
mysql/mysql-server \
--character-set-server=utf8 \
--collation-server=utf8_general_ci

 MySql挂载外部Host Valumen

建立文件夹

$ cd / //根目录
$ mkdir docker/ $ cd docker $ mkdir mysql $ cd mysql/ $ mkdir config $ mkdir db $ ls
$ cd config
$ vim my.cnf

编辑my.cnf

[mysqld]
user=root

 备注:删除文件夹:递归(文件夹特慢),一次性,交互式(慢)

$ rm -r 
$ rm -rf 
$ rm -if 

 使用外部valume方法,-v = --valume

$ docker run -d -p 3306:3306 --name fieer_mysql \
-v=/docker/mysql/config/my.cnf:/etc/my.cnf \
-v=/docker/mysql/data:/var/lib/mysql \
mysql/mysql-server

 MySql Container建立成功,进入容器

$ docker exec -it fieer_mysql bash

 登陆root,无密码

$ mysql -uroot -p

 修改密码

$ SET PASSWORD FOR 'root'@'localhost' = PASSWORD('password');

 切换到mysql数据库

$ use mysql;
$ select user,host from user;
$ show variables like '%char%';

 修改my.cnf

[mysqld]
user=root

[mysqld]
character-set-server=utf8
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

重新查询

posted @ 2018-03-02 21:33  桞木木  阅读(317)  评论(0编辑  收藏  举报