环境:VMware+CentOS 7.1(安装和联网什么的就不说啦,这里设置的IPv4地址为:192.168.1.50)mysql
1. 安装和启动redis
安装Docker:yum install dockersql
启动Docker服务:docker
service docker start(旧式启动)、chkconfig docker on(旧式开机自启)shell
systemctl start docker.service(新式启动)、systemctl enable docker.service(新式开机自启)bash
PS:若是出现:Another app is currently holding the yum lock,则使用命令:rm -f /var/run/yum.pidapp
2. Docker镜像基本命令tcp
检索镜像:docker search 镜像名称 (如:docker search mysql)spa
镜像下载:docker pull 镜像名称(如:docker pull docker.io/mysql ).net
查看镜像列表:docker images
删除镜像:docker rmi image-id
中止全部的container(见下),才可以删除其中的images:docker stop $(docker ps -a -q)
删除images: docker rmi image id
想要删除untagged images,也就是那些id为<None>的image的话能够用:docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除所有image的话:docker rmi $(docker images -q)
3. Docker容器基本命令
运行命令:docker run --name 取名 -d image-name(这里--name后面接的为运行时容器名称 -d 表明datached意味着运行完后控制台不会被阻碍,仍然能够运行其余命令)
查看运行中的容器列表:docker ps
查看运行和中止的容器:docker ps -a
启动容器:docker start container-name/container-id(如:docker start 取名)
中止容器:docker stop container-name/container-id(如:docker stop 取名)
删除容器:docker rm container-id
删除全部容器:docker rm $(docker ps -a -q)
启动容器带端口映射:
Docker容器中运行软件的端口在本地和局域网不可访问,此处操做是映射端口到当前主机端口上
Redis:docker run [--name 取名] -p 6379:6379 取名 -d image-name(如:docker run --name redis2 -p 6379:6379 -d docker.io/redis,此处的--name也能够去掉,则会默认取名)
MySQL:启动MySQL和上面相似,可是要带上一个-e参数,具体见https://hub.docker.com/r/mysql/mysql-server/(如:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=密码 -d docker.io/mysql)
有了如上操做,咱们就能开心的在本地链接Docker中的容器了,欧耶欧耶蹦擦擦~
4. 容器日志:
查看当前容器日志:docker logs container-name/container-id
5. 登陆容器:
登陆命令:docker exec -it container-name/container-id bash
Redis操做以下:
[root@localhost ~]# docker run --name redis -p 6379:6379 -d docker.io/redis 428b031e0cfc252341906964a7103e1b50005a5abc80cc0b68c2635d1e164175 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 428b031e0cfc docker.io/redis "docker-entrypoint.sh" 3 seconds ago Up 1 seconds 0.0.0.0:6379->6379/tcp redis [root@localhost ~]# docker exec -it redis bash root@428b031e0cfc:/data# re read readonly reboot redis-check-rdb redis-server renice resizepart readarray readprofile redis-benchmark redis-cli remove-shell reset return readlink realpath redis-check-aof redis-sentinel rename.ul resize2fs rev root@428b031e0cfc:/data# redis-cli -h 192.168.1.50 Could not connect to Redis at 192.168.1.50:6379: No route to host Could not connect to Redis at 192.168.1.50:6379: No route to host not connected> not connected> root@428b031e0cfc:/data# redis-cli 127.0.0.1:6379> set zhu aaa OK 127.0.0.1:6379> get zhu "aaa" 127.0.0.1:6379>
由于是本地的Redis,使用redis-cli便可,若是是远程则:redis-cli -h 主机名 -p 密码
MySQL操做以下:
[root@localhost ~]# docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=111111 -d docker.io/mysql d3fde45b6338954866bb2d6722da947d3475067b665c120b195e344dbadb5460 [root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d3fde45b6338 docker.io/mysql "docker-entrypoint.sh" 3 seconds ago Up 2 seconds 0.0.0.0:3306->3306/tcp mysql 428b031e0cfc docker.io/redis "docker-entrypoint.sh" 5 minutes ago Up 5 minutes 0.0.0.0:6379->6379/tcp redis [root@localhost ~]# docker exec -it mysql bash root@d3fde45b6338:/# mysql -uroot -p111111 mysql: [Warning] Using a password on the command line interface can be insecure. Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.14 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.03 sec) mysql>
纯手打,欢迎拍砖~