环境:VMware+CentOS 7.1(安装和联网什么的就不说啦,这里设置的IPv4地址为:192.168.1.50)
1. 安装和启动
安装Docker:yum install docker
启动Docker服务:
service docker start(旧式启动)、chkconfig docker on(旧式开机自启)
systemctl start docker.service(新式启动)、systemctl enable docker.service(新式开机自启)
PS:如果出现:Another app is currently holding the yum lock,则使用命令:rm -f /var/run/yum.pid
2. Docker镜像基本命令
检索镜像:docker search 镜像名称 (如:docker search mysql)
镜像下载:docker pull 镜像名称(如:docker pull docker.io/mysql )
查看镜像列表: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参数,具体见(如: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/redis428b031e0cfc252341906964a7103e1b50005a5abc80cc0b68c2635d1e164175[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES428b031e0cfc 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 bashroot@428b031e0cfc:/data# re read readonly reboot redis-check-rdb redis-server renice resizepartreadarray readprofile redis-benchmark redis-cli remove-shell reset returnreadlink realpath redis-check-aof redis-sentinel rename.ul resize2fs revroot@428b031e0cfc:/data# redis-cli -h 192.168.1.50 Could not connect to Redis at 192.168.1.50:6379: No route to hostCould not connect to Redis at 192.168.1.50:6379: No route to hostnot connected> not connected> root@428b031e0cfc:/data# redis-cli 127.0.0.1:6379> set zhu aaaOK127.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/mysqld3fde45b6338954866bb2d6722da947d3475067b665c120b195e344dbadb5460[root@localhost ~]# docker psCONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMESd3fde45b6338 docker.io/mysql "docker-entrypoint.sh" 3 seconds ago Up 2 seconds 0.0.0.0:3306->3306/tcp mysql428b031e0cfc 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 bashroot@d3fde45b6338:/# mysql -uroot -p111111mysql: [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 2Server 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 itsaffiliates. Other names may be trademarks of their respectiveowners.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>
纯手打,欢迎拍砖~
转载请指明出处: