1. CentOS7离线安装Docker和卸载Docker步骤
https://www.gold404.cn/info/140 http://www.ay1.cc/article/7600.html https://blog.csdn.net/lingfeian/article/details/125482271
2. 国内镜像加速
在下面添加如下 "registry-mirrors":[ "https://iotekdjw.mirror.aliyuncs.com" ]
3. docker 镜像命令
# 1. 搜索,也可以直接到 dockerHub 搜索 docker search 镜像名称 # 2. 下载 docker pull 镜像名称:版本号,如果不加,默认latest # 3. 查看已经下载镜像 docker images # 4. 删除镜像 docker rmi 镜像名/id # 5. 导出镜像 docker save -o hello-world.tar 镜像名/id # 6. 导入镜像 docker load --input [镜像名]
容器ID不需要全部输入,前几个就可以
4. docker 容器命令
# 1. 创建、启动容器 docker run 容器名/容器id # 2. 查看容器,-a 查看所有,不加代表查询正在运行的 docker ps -a # 3. 启动/停止容器 docker run/stop 容器名/ID # 3. 删除容器 docker rm 容器名/ID # 4. 进入容器 docker exec -it 容器名/ID /bin/bash # 5. 导出容器,有时候需要加 -o,不然导入的时候会报错 docker export 1e560fca3906 > ubuntu.tar # 6. 导入容器 cat docker/ubuntu.tar | docker import - test/ubuntu:v1 # 7. 查询容器日志, -f 是持续输出 docker logs 容器名/ID -f # 7. 进入容器 docker exec -it 容器名/ID /bin/bash
docker run各个参数解释,参考链接:www.runoob.com/docker/dock…
--name 容器名称 -p 3307:3306 前面宿主机,后面容器里 -link redis:redis 和其他容器交互 -e 设置容器的环境参数 -d 后台启动 -v 挂载宿主机目录/文件 -m 设置容器使用内存最大值
5. docker 网络命令
参考官网链接:传送门
# ps # docker network 是容器间双向通信的,--link 是单向通信 # 1. 查看网络列表 docker network ls # 2. 创建一个自定义网络 docker network create my-network # 3. 启动容器时指定网络并指定别名 docker run -itd --name mysql --network my-network --network-alias mysql -e MYSQL_ROOT_PASSWORD=root mysql:5.6 # 4. 删除网络 docker network rm my-network # 5. 删除所有未使用的网络 docker network prune # 6. 为启动好的容器指定一个网络 docker network connect [OPTIONS] NETWORK CONTAINER docker network connect --alias mysql my-network mysql # 7. 为容器删除一个网络 docker network disconnect multi-host-network container1 # 8. 检查网络的详细信息 docker network inspect [OPTIONS] NETWORK
具体实例:
1. mysql
docker pull mysql:5.6 docker run --name mysql -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -v D:\dockerFile\mysql:/var/lib/mysql mysql:5.6
2. mariadb
docker run -d -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123456 --name mariadb mariadb:latest docker run --name mariadb --privileged -d -e TIMEZONE=Asis/Shanghai -e MYSQL_ROOT_PASSWORD=123ABCdef*# -p 3307:3306 6d5c5ed114ad 启动 centos docker run -i -t -d --link mariadb:mariadb -p 8088:8088 -p 8888:8888 --privileged=true centos:centos7 # 连接容器 docker run -it -p 8080:8080 --link db001:dbhost -d tomcat # db001是步骤3中创建的mysql容器的名字,可以通过其访问数据库; # dbhost是个别名,web程序访问mysq数据可以通过其访问
3. redis
docker pull redis docker run -p 6379:6379 --name redis -v D:\data\redis\redis.conf:/etc/redis/redis.conf -v D:\data\redis\data:/data -d redis:latest redis-server /etc/redis/redis.conf --appendonly yes --requirepass 123456
4. Kafka
# 1. 下载zookeeper镜像 docker pull wurstmeister/zookeeper # 2. 启动zookeeper docker run -d --name zookeeper -p 2181:2181 -t wurstmeister/zookeeper # 3. 下载kafka镜像 docker pull wurstmeister/kafka # 4. 启动kafka docker run -d --name kafka2 -p 9092:9092 --link zookeeper:zookeeper -e KAFKA_BROKER_ID=0 -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 -t wurstmeister/kafka # 启动kafka参数解释 # -d 后台启动 # --name kafka 容器名称 # -p 9092:9092 绑定端口,前面宿主机,后面容器 # --link zookeeper:zookeeper 链接上一个容器,zookeeper # -e KAFKA_BROKER_ID=0 设置broker Id # -e KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 指定zookeeper 地址 # -e KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://127.0.0.1:9092 将Broker的Listener信息发布到Zookeeper中 # -e KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 就是主要用来定义Kafka Broker的Listener的配置项 # -t wurstmeister/kafka