安装镜像
1.安装mysql
1.下载镜像
docker pull mysql:5.7
2.docker查看镜像
docker images
3.通过镜像启动
docker run -p 3306:3306 --name mymysql -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7
-p 3306:3306:将容器的3306端口映射到主机的3306端口。
-v -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf挂载到容器的/etc/mysql/my.cnf
-v $PWD/logs:/logs:将主机当前目录下的logs目录挂载到容器的 /logs
-v $PWD/data:/var/lib/mysql : 将主机当前目录下的data目录挂载到容器的 /var/lib/mysql
-e MYSQL_ROOT_PASSWORD=123456 :初始化 root用户的密码
4.进入容器配置
由于mysql的安全策略,现在还不能使用root/123456来访问数据库
5.进入容器
通过docker ps -a 来查看mysql的容器id,然后再使用:
docker exec -it 8e0691025340 /bin/bash
6.进入mysql
mysql -uroot -p123456
7.建立用户并授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'127.0.0.1' IDENTIFIED BY 'root' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
exit
yum install openssl-devel bzip2-devel expat-devel gdbm-devel readline-devel sqlite-devel gcc gcc-c++ openssl-devel libffi-devel python-devel mariadb-devel
2.centos安装ubuntu
1.安装-pull
docker pull ubuntu
2.运行-run
通过镜像,启动一个容器
-it,交互式终端
docker run -it ubunu bash
然后就进来了:
[lemon@iZbp159egvvktszc82dr5xZ ~]$ sudo docker run -it ubuntu bash
WARNING: IPv4 forwarding is disabled. Networking will not work.
root@20eb68f932b9:/# ls
bin boot dev etc home lib lib32 lib64 libx32 media mnt opt proc root run sbin srv sys tmp usr var
退出,exit
3.查看运行状态
[lemon@iZbp159egvvktszc82dr5xZ ~]$ sudo docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
20eb68f932b9 ubuntu "bash" About a minute ago Exited (0) 21 seconds ago laughing_northcutt
38f0b91b7c7c python:3.6.15-alpine3.15 "bash" 2 weeks ago Created ffmall
af4dbe1326f4 node "docker-entrypoint..." 5 weeks ago Up 5 weeks node-test
可以看到,status是关闭的,下面打开运行即可
4.运行容器
sudo docker container start 20eb68f932b9
5.进入容器环境
sudo docker exec -it 20eb68f932b9 bash
6.在容器内新建了测试文件
root@20eb68f932b9:/# pwd
/
root@20eb68f932b9:touch test.py
root@20eb68f932b9:/# ls
bin dev home lib32 libx32 mnt proc run srv test.py usr
boot etc lib lib64 media opt root sbin sys tmp var
7.退出,在宿主机新建一个文件夹,测试转移拷贝是否成功
root@20eb68f932b9:/# exit
exit
[lemon@iZbp159egvvktszc82dr5xZ ~]$ ls
bak_repos mallproject pip3 sheb software spiders test.py
[lemon@iZbp159egvvktszc82dr5xZ ~]$ mkdir docker_test
[lemon@iZbp159egvvktszc82dr5xZ ~]$ ls
bak_repos docker_test mallproject pip3 sheb software spiders test.py
8.docker 拷贝文件
[lemon@iZbp159egvvktszc82dr5xZ ~]$ sudo docker cp 20eb68f932b9:/test.py /home/lemon/docker_test/
查看是否成功:
[lemon@iZbp159egvvktszc82dr5xZ ~]$ ls ./docker_test/
test.py
ok.