Docker常用命令

基础命令

systemctl start docker

docker version

docker pull zookeeper:3.6 / docker pull zookeeper (latest)

docker images

docker save -o zookeeper.tar zookeeper:3.6

docker rmi zookeeper:3.6

docker load -i zookeeper.tar

容器相关命令

docker run –name nginx -p 80:80 -d nginx:latest

docker logs nginx / docker logs -f nginx

docker ps / docker ps -a

docker pause nginx

docker unpause nginx

docker stop nginx

docker start nginx

docker rm nginx / docker rm -f nginx

docker exec -it nginx bash

docker rename [旧容器名] [新容器名]

数据卷

数据卷的作用:将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全

docker volume create html

docker volume ls

docker volume inspect html

docker volume rm html

docker run –name mn -p 80:80 -v html:/usr/share/nginx/html -d nginx

MySQL

docker pull mysql:5.7.16

设置了密码,挂载到 /usr/local/docker/mysql

docker run --name mysql \
-e MYSQL_ROOT_PASSWORD=heroxin \
-p 3306:3306 \
-v /usr/local/docker/mysql/conf/hmy.cnf:/etc/mysql/conf.d/hmy.cnf \
-v /usr/local/docker/mysql/data:/var/lib/mysql \
-d mysql:latest

ActiveMQ

docker pull webcenter/activemq

设置了用户名和密码,挂载到 /usr/local/docker/activemq

docker run --name='activemq' \
-itd \
-p 8161:8161 \
-p 61616:61616 \
-e ACTIVEMQ_ADMIN_LOGIN=heroxin \
-e ACTIVEMQ_ADMIN_PASSWORD=heroxin \
--restart=always \
-v /usr/local/docker/activemq/data:/data/activemq \
-v /usr/local/docker/activemq/log:/var/log/activemq \
webcenter/activemq:latest

ElasticSearch

docker pull elasticsearch:7.12.1
docker pull kibana:7.12.1

指定jvm内存大小,挂载到数据卷,连接到 es-net

docker run -d \
--name es \
-e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
-e "discovery.type=single-node" \
-v es-data:/usr/share/elasticsearch/data \
-v es-plugins:/usr/share/elasticsearch/plugins \
--privileged \
--network es-net \
-p 9200:9200 \
-p 9300:9300 \
elasticsearch:7.12.1
docker run -d \
--name kibana \
-e ELASTICSEARCH_HOSTS=http://es:9200 \
--network=es-net \
-p 5601:5601 \
kibana:7.12.1

Redis

docker pull redis
docker run --name redis -p 6379:6379 -d redis redis-server --appendonly yes