docker 创建各容器命令合集
学习中...持续更新
- docker-compose安装:
curl -L https://github.com/docker/compose/releases/download/1.27.4/docker-compose-`uname \ -s`-`uname -m` -o /usr/local/bin/docker-compose
最新版本号可以通过 官方 GitHub Release 上来获取二进制文件。
chmod +x /usr/local/bin/docker-compose
添加可执行权限
- MySQL5.7.22:
docker run --restart=always -d \ -p 3306:3306 --name mysql \ -v /usr/local/docker/mysql/conf:/etc/mysql \ -v /usr/local/docker/mysql/logs:/var/log/mysql \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7.22
- MySQL8.0.22:
docker run --restart=always -d \ -p 3307:3306 --name mysql \ -v /usr/local/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \ -v /usr/local/docker/mysql/logs:/logs \ -v /usr/local/docker/mysql/data:/var/lib/mysql \ -e MYSQL_ROOT_PASSWORD=123456 mysql
my.cnf
# Copyright (c) 2017, Oracle and/or its affiliates. All rights reserved. # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; version 2 of the License. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program; if not, write to the Free Software # Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA # # The MySQL Server configuration file. # # For explanations see # http://dev.mysql.com/doc/mysql/en/server-system-variables.html [mysqld] pid-file = /var/run/mysqld/mysqld.pid socket = /var/run/mysqld/mysqld.sock datadir = /var/lib/mysql secure-file-priv= NULL # Custom config should go here !includedir /etc/mysql/conf.d/
- Tomcat
docker run -d --name tomcat -p 8080:8080 \ -v /usr/local/docker/tomcat/ROOT:/usr/local/tomcat/webapps/ROOT \ tomcat
- nginx
docker run -d -p 80:80 --name nginx \ -v /usr/local/docker/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /usr/local/docker/nginx/html:/usr/share/nginx/html \ nginx
- nexus3
授予文件夹读写权限
chmod 777 /usr/local/docker/nexus3/data
docker run -tid -p 8081:8081 --name nexus3 -e NEXUS_CONTEXT=nexus \ -v /usr/local/docker/nexus:/nexus-data docker.io/sonatype/nexus3
docker-compose.yml
version: '3.1'
services:
  nexus:
    restart: always
    image: sonatype/nexus3
    container_name: nexus
    ports:
      - 8081:8081
    volumes:
      - /usr/local/docker/nexus/data:/nexus-data
非流通包.jar文件上传nexus release
mvn deploy:deploy-file -DgroupId=com.oracle -DartifactId=ojdbc14 -Dversion=10.2.0.4.0 -Dpackaging=jar -Dfile=D:\ojdbc14-10.2.0.4.0.jar -Durl=http://192.168.126.129:8081/repository/maven-releases/ -DrepositoryId=nexus-releases
这里用oracle ojdb来演示
-DgroupId=com.oracle #项目路径 -DartifactId=ojdbc14 #项目名 -Dversion=10.2.0.4.0 #版本号 -Dpackaging=jar #文件类型 -Dfile=D:\ojdbc14-10.2.0.4.0.jar #文件路径 -Durl=http://192.168.126.129:8081/repository/maven-releases/ #文件上传私服路径 -DrepositoryId=nexus-releases #私服id
- registry 和 registry-ui
version: "3.7"
services:
  registry:
    restart: always
    image: registry
    container_name: registry
    ports:
      - 5000:5000
    volumes:
      - /usr/local/docker/registry/data:/var/lib/registry
  registry-ui:
    restart: always
    image: konradkleine/docker-registry-frontend:v2
    container_name: registry-ui
    environment:
      ENV_DOCKER_REGISTRY_HOST: 192.168.126.128
      ENV_DOCKER_REGISTRY_PORT: 5000
    ports:
      - 5001:80
    volumes:
      - /usr/local/docker/registry-ui/server.crt:/etc/apache2/server.crt:ro
      - /usr/local/docker/registry-ui/server.key:/etc/apache2/server.key:ro
- Redis sentinel 集群部署
搭建一主两从环境,docker-compose.yml
version: '3.1'
services:
  master:
    image: redis
    container_name: redis-master
    ports:
      - 6379:6379
  slave1:
    image: redis
    container_name: redis-slave-1
    ports:
      - 6380:6379
    command: redis-server --slaveof redis-master 6379
  slave2:
    image: redis
    container_name: redis-slave-2
    ports:
      - 6381:6379
    command: redis-server --slaveof redis-master 6379
至少需要创建三个 Sentinel 服务,docker-compose.yml
version: '3.1'
services:
  sentinel1:
    image: redis
    container_name: redis-sentinel-1
    ports:
      - 26379:26379
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
      - ./sentinel1.conf:/usr/local/etc/redis/sentinel.conf
  sentinel2:
    image: redis
    container_name: redis-sentinel-2
    ports:
      - 26380:26379
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
      - ./sentinel2.conf:/usr/local/etc/redis/sentinel.conf
  sentinel3:
    image: redis
    container_name: redis-sentinel-3
    ports:
      - 26381:26379
    command: redis-sentinel /usr/local/etc/redis/sentinel.conf
    volumes:
      - ./sentinel3.conf:/usr/local/etc/redis/sentinel.conf
sentinel1.conf,sentinel2.conf,sentinel3.conf配置文件,内容一致
port 26379 dir /tmp # 自定义集群名,其中 127.0.0.1 为 redis-master 的 ip,6379 为 redis-master 的端口,2 为最小投票数(因为有 3 台 Sentinel 所以可以设置成 2) sentinel monitor mymaster 127.0.0.1 6379 2 sentinel down-after-milliseconds mymaster 30000 sentinel parallel-syncs mymaster 1 sentinel failover-timeout mymaster 180000 sentinel deny-scripts-reconfig yes
- rabbitMQ
version: '3.1'
services:
  rabbitmq:
    restart: always
    image: rabbitmq:management
    container_name: rabbitmq
    ports:
      - 5672:5672
      - 15672:15672
    environment:
      TZ: Asia/Shanghai
      RABBITMQ_DEFAULT_USER: rabbit
      RABBITMQ_DEFAULT_PASS: 123456
    volumes:
      - /usr/local/docker/rabbitmq/data:/var/lib/rabbitmq
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号