curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
在线安装方式二
curl -sSL https://get.daocloud.io/docker | sh
3.查看Docker
yum list docker-ce --showduplicates | sort -r
4.查看Docker版本
docker version
5.启动Docker
systemctl start docker
6.测试Docker是否启动成功
(1).拉取HelloWorld的镜像
docker pull hello-world
(2).运行hello-world镜像
docker run hello-world
看到下面的图就证明安装成功了
docker search redis
2.取最新版的 Redis 镜像
docker pull redis:latest
3.查看本地镜像
docker images
4.运行容器(这是只能本地访问,但是我们需要进行外网访问)
docker run -itd --name redis-test -p 6379:6379 redis
-p 6379:6379:映射容器服务的 6379 端口到宿主机的 6379 端口。外部可以直接通过宿主机ip:6379 访问到 Redis 的服务。
5.通过 redis-cli 连接测试使用 redis 服务。
docker exec -it redis-test /bin/bash
6.查看 Redis是否启动成功
ps aux | grep redis-server
出现如下,则为成功
上面的方法只能本地访问,我们需要的是外网访问redis
4.创建conf 和 data 文件夹
mkdir /usr/local/docker/conf
/usr/local/docker/data
然后再conf下创建redis.conf 的配置文件
放入如下内容,密码可不用配置
6.查看Redis是否启动
docker ps
就可以看到redis了,如果状态是UP,那么就可以确定是安装成功了,启动完成之后,把云服务器的6379端口出入打开,就可以看到了。
这时候我们就可以去使用外部工具进行连接了。
1.拉取镜像
docker pull mysql
2.在opt下创建文件夹
cd /opt/
mkdir mysql_docker
cd mysql_docker/
echo $PWD
3.启动mysql容器,在var/lib/docker/containers/下查看容器
cd /var/lib/docker/containers/
4.查看mysql进程
docker ps -a
5.进入mysql容器,并登陆mysql
docker exec -it mysqlserver bash
mysql -uroot -p
123456
6.开启远程访问权限
use mysql
select host,user from user
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456'
flush privileges
然后去连接一下数据库测试就可以了
7.关闭docker中mysql容器
docker stop mysqlserver
8.关闭docker
systemctl stop docker
当我们的mysql 容器启动后,想要登陆mysql 的数据库怎么办。以下介绍几种方法, 其他容器的登陆也可以仿效。第一: 启动容器后用link 链接, 官方的mysql 容器有以下几个环境变量。
docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d daocloud.io/mysql
docker run -it --link some-mysql:mysql daocloud.io/mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
第二种方法:已经有compose 启动的容器用link链接, 比如我的docker image 为pythondjangocdsample_mysql_1,可以用如下命令链接
docker run -ti --link pythondjangocdsample_mysql_1:mysql daocloud.io/mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
或者用busybox 链接mysql 容器查看环境变量, 以下为myblog_mysql_1 中的环境变量。
docker run -ti --link myblog_mysql_1:mysql busybox
/ # env
HOSTNAME=2f0ab0a2e9c5
SHLVL=1
HOME=/root
MYSQL_ENV_MYSQL_DATABASE=myblog
MYSQL_ENV_MYSQL_MAJOR=5.7
TERM=xterm
MYSQL_PORT_3306_TCP_ADDR=172.17.0.3
MYSQL_ENV_MYSQL_ROOT_PASSWORD=mysql
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MYSQL_PORT_3306_TCP_PORT=3306
MYSQL_PORT_3306_TCP_PROTO=tcp
MYSQL_PORT=tcp://172.17.0.3:3306
MYSQL_ENV_MYSQL_VERSION=5.7.11-1debian8
MYSQL_PORT_3306_TCP=tcp://172.17.0.3:3306
PWD=/
MYSQL_NAME=/pensive_morse/mysql
以下为myblog_myblog_1链接到myblog_mysql_1 中的环境变量。
docker run -ti --link myblog_myblog_1:myblog busybox
/ # env
MYBLOG_ENV_PYTHON_VERSION=2.7.11
MYBLOG_ENV_MYSQL_PORT_3306_TCP_ADDR=mysql
MYBLOG_ENV_MYSQL_PASSWORD=mysql
MYBLOG_PORT=tcp://172.17.0.4:80
HOSTNAME=5ae02b948c2c
SHLVL=1
HOME=/root
MYBLOG_ENV_MYSQL_PORT_3306_TCP_PORT=3306
MYBLOG_ENV_MYSQL_INSTANCE_NAME=myblog
MYBLOG_NAME=/nostalgic_darwin/myblog
MYBLOG_PORT_80_TCP_ADDR=172.17.0.4
MYBLOG_ENV_GPG_KEY=C01E1CAD5EA2C4F0B8E3571504C367C218ADD4FF
MYBLOG_PORT_80_TCP_PORT=80
MYBLOG_PORT_80_TCP_PROTO=tcp
TERM=xterm
MYBLOG_ENV_PYTHON_PIP_VERSION=8.1.1
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
MYBLOG_PORT_80_TCP=tcp://172.17.0.4:80
MYBLOG_ENV_LANG=C.UTF-8
MYBLOG_ENV_MYSQL_USERNAME=root
PWD=/
第三种方法:直接以client 端登陆mysql
sudo apt-get install mysql-client
mysql -h172.17.0.3 -P3306 -uroot -pmysql
第四种: 在容器里面添加ssh-server
[supervisord]
nodaemon=true
[program:sshd]
command=/usr/sbin/sshd -D
[program:httpd]
command=/bin/bash -c "exec /usr/sbin/httpd -DFOREGROUND"
已运行的容器中途再mysql挂载数据卷步骤如下。1、安装好Docker,下载MySQL5.7镜像。
2、创建容器并挂载数据。创建容器并挂载数据。
3、登录MySQL。上传备份sql到宿主机,复制宿主机备份sql到容器。
4、进入mysql容器内部,导入sql,查看数据即可完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)