Docker經常使用鏡像

  Docker,具備快捷方便的特性,機器上不須要安裝軟件和進行各類配置,拉取鏡像,一行命令便可啓動服務,不使用時,一行命令關閉容器便可,快捷方便,乾淨、利索。建議將本地的redis、mysql、kafka等常見服務使用docker進行安裝,使用時用命令行啓動,不使用則關閉便可。mysql

下面列出我本地經常使用的鏡像。nginx

1、本地docker添加https://registry.docker-cn.com鏡像地址web

在國內拉取鏡像時常常出現超時現象,建議添加docker中國地址,例如redis

 2、我本地使用的docker清單:sql

一、postgres
二、mysql
三、redis
四、nginx
五、mongo
六、kafka
七、rabbitmqdocker


3、鏡像命令
-- 拉取鏡像。tag不寫的話,則拉取最新版的鏡像數據庫

docker pull 鏡像名稱:tag

 -- 查看鏡像bash

docker images

 -- 查找鏡像倉庫中鏡像post

docker search 鏡像名

 -- 查找本地鏡像spa

docker images | grep 鏡像名

 -- 移除鏡像

docker rmi 鏡像名稱:tag

-- 進入容器,能夠查看容器內部文件組

docker exec -it [CONTAINER ID] /bin/sh

 -- 查看正在運行的容器

docker ps -a  # docker ps -a | grep <容器名>

 -- 中止正在運行的容器

docker stop [CONTAINER ID]

 -- 移除已經中止的容器

docker rm [CONTAINER ID]

 

4、各個鏡像的使用

一、postgres
-- 拉取鏡像

docker pull postgres:9.6

 -- 運行鏡像

docker run --name mypostgre -e POSTGRES_PASSWORD=root -p 54321:5432 -d postgres:9.6

 

解釋:
run,建立並運行一個容器;
--name,指定建立的容器的名字;
-e POSTGRES_PASSWORD=password,設置環境變量,指定數據庫的登陸口令爲password(登陸名:postgres);
-p 54321:5432,端口映射將容器的5432端口映射到外部機器的54321端口;
-d postgres:9.6,指定使用postgres:9.6做爲鏡像。

在使用客戶端鏈接數據庫便可。

 

二、mysql
-- 拉取鏡像

docker pull mysql:8

 -- 運行鏡像

docker run --name mysqllocal -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:8

 -- 進入容器

-- 登陸mysql

mysql -u root -p 解釋: —登陸名:root 密碼:root

-- 修復navicat客戶端登陸

ALTER USER root IDENTIFIED WITH mysql_native_password BY root;

再使用客戶端鏈接數據庫便可。  

 

三、redis
-- 拉取鏡像

docker pull redis:3.2

-- 運行鏡像

docker run --name myredis -p 6379:6379 -d redis:3.2 redis-server

-- 進入容器

-- 登陸redis

redis-cli

 

有密碼的,須要登陸

docker exec -it 63519b779f2f redis-cli -a ‘密碼’

經常使用命令:

先要選擇庫,select [0-15]

一、查詢鍵

keys * 查詢全部的鍵,會遍歷全部的鍵值,複雜度O(n)

二、鍵總數

dbsize 查詢鍵總數,直接獲取redis內置的鍵總數變量,複雜度O(1)

三、檢查鍵是否存在

exists key 存在返回1,不存在返回0

四、刪除鍵O(k)

del key [key...] 返回結果爲成功刪除鍵的個數

  

四、nginx
-- 拉取鏡像

docker pull nginx

-- 運行鏡像

docker run --name mynginx -d -p 8080:80 nginx:latest

  

五、mongo
-- 拉取鏡像

docker pull mongo

-- 運行鏡像

docker run -p 27017:27017 -d mongo:latest

  

六、kafka
-- 拉取鏡像

zookeeker: docker pull zookeeper:latest
kafka: docker pull wurstmeister/kafka:latest

-- 運行鏡像

-- 運行zookeeper

docker run -d --name myzookeeper --publish 2181:2181 --volume /etc/localtime:/etc/localtime zookeeper:latest

-- 運行kafka

docker run -d --name mykafka --publish 9092:9092 \
--link myzookeeper \
--env KAFKA_ZOOKEEPER_CONNECT=myzookeeper:2181 \
--env KAFKA_ADVERTISED_HOST_NAME=kafka所在宿主機的IP \
--env KAFKA_ADVERTISED_PORT=9092 \
--volume /etc/localtime:/etc/localtime \
wurstmeister/kafka:latest

  

七、rabbitmq

-- 拉取鏡像

docker pull rabbitmq:management

-- 運行鏡像

docker run -d --name rabbitmq --publish 5671:5671 \
 --publish 5672:5672 --publish 4369:4369 --publish 25672:25672 --publish 15671:15671 --publish 15672:15672 \
rabbitmq:management

容器啓動以後就能夠訪問web 管理端了 http://宿主機IP:15672,默認建立了一個 guest 用戶,密碼也是 guest。

相關文章
相關標籤/搜索