Docker之常见容器部署

心已赠人 2023-08-17 16:30 267阅读 0赞

一、Docker常用命令

1.1、镜像相关命令

  1. //1、查看镜像
  2. docker images
  3. //2、搜索镜像
  4. docker search 镜像名称
  5. //3、拉取镜像
  6. docker pull 镜像名称
  7. //4、删除指定镜像
  8. docker rmi 镜像ID
  9. //5、删除所有镜像
  10. docker rmi 'docker images -q'

1.2、容器相关命令

  1. //1、查看容器
  2. docker ps
  3. //2、查看停止的容器
  4. docker ps -f status=exited
  5. //3、创建容器
  6. -i 表示运行容器
  7. -t 表示容器启动后会进入命令行
  8. -v 表示目录映射关系
  9. -p 表示端口映射
  10. docker run
  11. //4、交互式创建容器
  12. docker run -it --name=容器名称 镜像名称:标签 /bin/bash
  13. 退出当前容器: exit
  14. //5、守护式创建容器
  15. docker run -di --name=容器名称 镜像名称:标签 /bin/bash
  16. 登录守护式容器:
  17. docker exec -it 容器名称(或者容器ID /bin/bash
  18. //6、停止/启动容器
  19. ​停止容器 : docker stop 容器名称(容器ID
  20. ​启动容器:docker start 容器名称(容器ID
  21. //7、容器拷贝
  22. docker cp 要拷贝的文件 容器名称:容器目录
  23. //8、查看容器的IP
  24. docker inspect 容器名称(容器ID
  25. //9、删除容器
  26. docker rm 容器名称(容器ID
  27. //10、重命名容器
  28. docker rename oldname name

二、常用容器部署

2.1、Mysql部署

  1. //1、拉取Mysql的镜像
  2. docker pull mysql
  3. //2、创建Mysql的容器(指定容器名称为Mysql,端口为3306,密码为123456)
  4. docker run -di --name=mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
  5. -p 端口映射 宿主机映射端口:容器运行端口
  6. -e 代表添加环境变量,MYSQL_ROOT_PASSWORDRoot用户的登陆密码
  7. //3、远程连接Mysql
  8. ip:3306
  9. 例: 192.168.168.128:3306

2.2、Tomcat的部署

  1. //1、拉取Tomcat镜像
  2. docker pull tomcat:7-jre8
  3. //2、创建Tomcat的容器(将容器路径映射到本地路径上)
  4. docker run -di --name=tomcat7 -p 8080:8080 -v /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre8

2.3、Nginx的部署

  1. //1、拉取Nginx的镜像
  2. docker pull nginx
  3. //2、创建Nginx容器
  4. docker run -di --name=nginx -p 80:80 nginx

2.4、Redis的部署

  1. //1、拉取Redis的镜像
  2. docker pull redis
  3. //2、创建Redis容器
  4. docker run -di --name=redis -p 6379:6379 redis

2.5、MongoDB的部署

  1. //1、拉取MongoDB的镜像
  2. docker pull mongo
  3. //2、创建容器
  4. docker run --name=mongo -p 27017:27017 -v $PWD/db:/data/db -d mongo
  5. //3、执行容器
  6. docker exec -it mongo bash
  7. //4、启动mongodb
  8. ./usr/bin/mongo
  9. //5、切换数据库
  10. use admin
  11. //6、创建用户添加权限
  12. db.createUser({ user: "root", pwd: "root", roles: [{ role: "userAdminAnyDatabase", db: "admin" }] })
  13. //7、退出
  14. exit

2.6、RabbitMQ的部署

  1. //1、拉取RabbitMq的镜像
  2. //带management的版本可以打开UI界面
  3. docker pull rabbitmq:management
  4. //2、创建容器
  5. #方式一:默认guest用户,密码也是guest
  6. docker run -d --name rabbitmq -p 15672:15672 -p 5672:5672 rabbitmq
  7. #方式二:设置用户名和密码
  8. docker run -d --name rabbit -e RABBITMQ_DEFAULT_USER=waggag -e RABBITMQ_DEFAULT_PASS=123456 -p 15672:15672 -p 5672:5672 rabbitmq
  9. //3、访问UI界面(linux可以使用curl进行本地访问)
  10. http://localhost:15672/

三、Docker容器常见设置

1、阿里云镜像加速器

https://cr.console.aliyun.com/cn-shenzhen/instances/mirrors

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM4MjY0OTk5_size_16_color_FFFFFF_t_70

2、配置镜像加速器

Docker客户端版本大于 1.10.0 的用户,您可以通过修改daemon配置文件/etc/docker/daemon.json来使用加速器

  1. sudo mkdir -p /etc/docker
  2. sudo tee /etc/docker/daemon.json <<-'EOF'
  3. {
  4. "registry-mirrors": ["https://b8s7sijn.mirror.aliyuncs.com"]
  5. }
  6. EOF
  7. sudo systemctl daemon-reload
  8. sudo systemctl restart docker

四、容器的迁移和备份

  1. //1、容器保存为镜像
  2. docker commit nginx nginx_image
  3. //2、将保存的镜像备份
  4. docker save -o nginx.tar nginx_image
  5. //3、镜像恢复与迁移
  6. docker load -i nginx.tar

五、Docker私有镜像

  1. //1、拉取私有仓库的镜像
  2. docker pull registry
  3. //2、创建并执行私有仓库容器
  4. docker run -di --name=registry -p 5000:5000 registry
  5. //3、连接看是否搭建成功
  6. http://ip:port/v2/_catalog
  7. 例: http://192.168.168.128:5000/v2/_catalog
  8. //4、修改修改daemon.json,添加以下内容,让docker信任私有仓库
  9. {
  10. "insecure-registries":[192.168.168.128:5000]
  11. }
  12. //5、上传私有镜像
  13. //5.1、标记镜像
  14. docker tag mysql:latest 106.12.55.66:5000/waggag/mysql:latest
  15. //5.2、上传镜像
  16. docker push 106.12.55.66:5000/waggag/mysql:latest

发表评论

表情:
评论列表 (有 0 条评论,267人围观)

还没有评论,来说两句吧...

相关阅读