我的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
重新查询