Docker常用命令
docker run [OPTIONS] IMAGE [COMMOND] [ARGS...]
--name="容器新名字": 为容器指定一个名称;
-d: 后台运行容器,并返回容器ID,也即启动守护式容器;
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
-P: 随机端口映射;
-p: 指定端口映射,有以下四种格式
ip:hostPort:containerPort
ip::containerPort
hostPort:containerPort
containerPort
-w: 指定命令执行时,所在的路径
基础命令
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 [旧容器名] [新容器名]
设置容器自动重启
参数:
--restart=always |
no // 默认策略
no-failure // 在容器非正常退出时(退出状态非 0 )才重新启动容器
no-failure // 在容器非正常退出时重启容器,最多重启 3 次
always // 无论退出状态如何,都重启容器
unless-stopped // 在容器退出时总书重启容器,但是不考虑在Docker守护进程启动时就已经停止了的容器
在创建容器时设置
docker run -d --restart=always -- name name
修改已创建的容器
docker update --restart=always name
网络管理
查看网络:docker network ls
查看网络详情:docker network inspect bridge
创建自定义网络:docker network create name
运行容器时,加入到网络中,使用参数 –network=name
移除网络:docker network rm name
数据卷
数据卷的作用:将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全
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
mysql 8.0
docker run --name mysql \ |
mysql 5.7
docker run --name mysql-5.7 \ |
ActiveMQ
docker pull webcenter/activemq |
设置了用户名和密码,挂载到 /usr/local/docker/activemq
docker run --name='activemq' \ |
ElasticSearch
docker pull elasticsearch:7.12.1 |
docker pull kibana:7.12.1 |
docker network create es-net |
指定jvm内存大小,挂载到数据卷,连接到 es-net
docker run -d \ |
docker run -d \ |
Redis
docker pull redis |
docker run --name redis -p 6379:6379 -d redis redis-server --appendonly yes |
Nginx
先随便启动一个nginx
docker run -p 80:80 --name nginx -d nginx |
创建挂载目录/usr/local/docker/nginx
# 创建挂载目录 |
删除容器,重新创建容器
docker rm -f nginx |
docker run -p 80:80 --name nginx --restart=always \ |
AList
docker run -d --restart=unless-stopped \ |