Docker 常用命令整理
1:镜像
1.1:拉取镜像
docker pull tomcat:9
1.2:查看镜像
docker images
1.3:删除镜像
1.3.1: 显示所有的容器,包括未运行的
docker ps -a
1.3.2: 删除想删除的容器ID
docker rm CONTAINER ID
1.3.3: 删除镜像
docker rmi REPOSITORY
1.4:添加自定义镜像包到docker
docker load -i /usr/local/server/golang/centos_go.tar
2:容器
2.1:创建容器
docker run --name tomcat_ditie -d -p 8081:8080 docker.io/tomcat:9
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上。(8081:8080)
--name:重命名当前容器(tomcat_ditie )
docker.io/tomcat:启动的镜像 REPOSITORY
9:启动镜像的 TAG
2.2:删除容器
docker rm CONTAINER ID
2.3:进入容器
docker exec -it CONTAINER ID /bin/sh
2.4:退出容器
ctrl+D
2.5:停止容器
docker stop NAMES
2.6:启动容器
docker start NAMES
2.7:重启容器
docker restart NAMES
2.8:查看日志文件位置
docker inspect NAMES
2.8:查看日志
docker logs NAMES
3:镜像挂载
3.1:tomcat
3.1.1:端口映射
docker run -p 8082:8080
3.1.2:重启机制
--restart always
3.1.3:容器重命名
--name tomcat_shequ
3.1.4:挂载
-v /usr/local/server/ditie/webapps:/usr/local/tomcat/webapps
-v /usr/local/server/ditie/logs:/usr/local/tomcat/logs
3.1.5:时间
-v /etc/localtime:/etc/localtime
3.1.6:语言
-e TZ="Asia/Shanghai"
3.1.7:容器间通信
-link NAMES (如:mysql)
3.1.8:后台运行
-d
3.1.9:镜像文件
docker.io/tomcat:9
3.1.10:创建tomcat挂载容器时,1,2,3,4,5,6,7,8,9 同时执行
docker run -d -p 8090:8080 --name hotel --link sjy.mysql -v /usr/local/server/hotel/webapps:/usr/local/tomcat/webapps -v /usr/local/server/hotel/webapps/uploadfiles:/usr/local/tomcat/webapps/uploadfiles -e TZ="Ais/Shanghai" -v /etc/localtime:/etc/localtime sjy/tomcat:sjy
3.2:zookeeper
3.2.1:下载镜像
docker pull zookeeper:latest
3.2.2:创建容器 (先启动)
docker run -d --name zookeeper -p 2181:2181 -v /etc/localtime:/etc/localtime sjy/zookeeper:sjy
3.3:kafka
3.3.1:下载镜像
docker pull kafka:latest
3.3.2:创建容器 (后启动)
docker run -d --name kafka -p 9093:9092 --link sjy.zookeeper --env KAFKA_ZOOKEEPER_CONNECT=sjy.zookeeper:2181 --env KAFKA_ADVERTISED_HOST_NAME=192.168.0.140 --env KAFKA_ADVERTISED_PORT=9092 -v /etc/localtime:/etc/localtime sjy/kafka:sjy
3.3.3:进入kafka容器
docker exec -it NAMES bash
3.3.4:进入kafka默认目录
cd /opt/kafka_2.11-0.10.1.0
3.3.5:创建一个 topic 名称为 test
bin/kafka-topics.sh --create --zookeeper zookeeper:2181 --replication-factor 1 --partitions 1 --topic test
3.3.6:查看当前的 topic 列表
bin/kafka-topics.sh --list --zookeeper zookeeper:2181
3.3.7:运行一个消息生产者窗口,指定 topic 为刚刚创建的 test
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test > 这是生产的信息
3.3.8:运行一个消息消费者窗口,同样指定 topic 为 test
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test --from-beginning > 这是生产的信息
3.4:redis
3.4.1:创建容器
docker run -p 5379:6379 --name sjy.redis --restart always -v /usr/local/server/redis/conf/redis.conf:/etc/redis/redis.conf -v /usr/local/server/redis/data/:/data -d sjy/redis:sjy redis-server /etc/redis/redis.conf --appendonly yes
3.5:nginx
3.5.1:创建容器
docker run -p 8510:80 --name sjy.nginx -dit -v /usr/local/server/nginx/conf/nginx.conf:/etc/nginx.conf -v /usr/local/server/nginx/logs:/var/log/nginx -v /tmp/capture/:/tmp/capture --restart always sjy/nginx:sjy
3.6:mongo
3.6.1:创建容器
docker run -p 17017:27017 --restart always --name mongo_shequ -v /home/mongo/data/db:/home/data/db -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime -d sjy/mongo:sjy