您的位置:首页 > 运维架构 > Docker

Docker常用命令

2016-09-06 00:00 127 查看
摘要: Docker常用命令 Redis、MySQL常用操作

环境: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参数,具体见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>

纯手打,欢迎拍砖~

转载请指明出处:http://my.oschina.net/u/1991646/blog/743151
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: