docker安装镜像
docker安装镜像

docker安装镜像

安装镜像

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.

发表回复

您的电子邮箱地址不会被公开。