docker记录

170 阅读1分钟

安装

# 安裝 docker

curl -sSL get.docker.com | sh

# 將目前使用者新增到 docker 群組內,需要重新登入才會生效

sudo usermod -aG docker $USER

# 安裝 docker-compose

sudo curl -L "https://github.com/docker/compose/releases/download/$(curl -sL https://api.github.com/repos/docker/compose/releases/latest | grep tag_name | cut -d'"' -f 4)/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

安装mysql

docker run --name mysql -d -e MYSQL_ROOT_PASSWORD=smysql -p 3307:3306 --network somenetwork --restart=always mysql:5.7.36

FLUSH PRIVILEGES; 刷新mysql权限

ctrl+p+q 退出,不会停止容器

docker ps

-a , -l 最近创建的, -n 最近n个, -q 只显示容器编号

docker start , docker stop , docker kill 强制停止, docker rm 删除

docker ps -a -q | xargs docker rm 或者 docker rm -f $(docker ps -a -q) 批量删除

docker run -d redis:6.0.8

docker container cp [containID]:[/path/to/file] .

一个 Dockerfile 可以包含多个RUN命令,但是只能有一个CMD命令。指定了CMD命令以后,

docker container run命令就不能附加命令了(比如前面的/bin/bash),否则它会覆盖

CMD命令。

安装rabbitmq

docker run \

-e RABBITMQ_DEFAULT_USER=linghe \

-e RABBITMQ_DEFAULT_PASS=qBc8QUbFsy09zLzfTxXmFuLw \

--name rabbitmq \

--hostname mq1 \

-p 5672:5672 -p 15672:15672 \

-d rabbitmq:3.8-management

安装elasticsearch

docker run -d \

--name es01 \

-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.17.1

安装kibana

docker run -d \

--name kibana \

-e ELASTICSEARCH_HOSTS=http://es01:9200 \

-v kibana-conf:/usr/share/kibana/config \

--network=es-net \

-p 5601:5601 \

kibana:7.17.1