Docker安装软件合集
# 搜索镜像 # dockerhub https://hub.docker.com/_/nginx docker search nginx # 下载镜像 docker pull nginx # 运行 ## -d 后台运行 ## --name 给容器命名 ## -p 宿主机端口:容器端口 docker run -d --name nginx01 -p 3344:80 nginx # 测试 docker ps crul localhost:3344 # 其他 whereis nginx #linux查找配置文件路径 #挂载文件,需要删除一次容器重新创建容器 ## 安装上面执行过一次的容器。在宿主机执行 docker cp nginx:/etc/nginx/nginx.conf /home/nginx/conf/ docker cp nginx:/etc/nginx/conf.d/default.conf /home/nginx/conf/ docker cp nginx:/usr/share/nginx/html /home/nginx/ ## 重新创建容器,并挂载文件 docker run \ -p 8070:80 \ --name my-nginx \ -v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /home/nginx/conf/default.conf:/etc/nginx/conf.d/default.conf \ -v /home/nginx/html:/usr/share/nginx/html \ -d nginx
# 搜索镜像 docker search tomcat # 下载镜像 指定版本 docker pull tomcat:8.5 #复制完整webapp 镜像问题 默认最小镜像,不必要的都会删掉 docker exec -it tomcat01 /bin/bash #进入tomcat cp -r webapps.dist/* webapps #复制 # 运行 ## -d 后台运行 ## --name 给容器命名 ## -p 宿主机端口:容器端口 docker run -d --name tomcat01 -p 3355:8080 tomcat:8.5 # 测试 docker ps http://ip:3355
#查看资源占用情况 容器id可有可无 docker stats 容器id #映射多个端口 docker run -d --name tomcat01 -p 3355:8080 -p 3356:8081 tomcat:8.5 #ES 添加内存限制 -e docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms128m -Xmx512m" elasticsearch:7.6.2
#安装 -v挂在到本地配置文件 docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer #测试 http://ip:8088
# 搜索镜像 docker search mysql # 下载镜像 指定版本 docker pull mysql:5.5 # 运行 ## -d 后台运行 ## --name 给容器命名 ## -p 宿主机端口:容器端口 ## -v 挂在文件 docker run --name mysql01 -p 3310:3306 -v /home/mysql/conf:/etc/mysql/conf.d -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7 # 测试 sqlyong连接 # 如果密码错误删除宿主机挂载文件夹下的文件,删除容器重新运行启动 ==========简化============ docker run -p 3310:3306 --name mysql01 \ -v /myData/software/docker/mysql01/log:/var/log/mysql \ -v /myData/software/docker/mysql01/data:/var/lib/mysql \ -v /myData/software/docker/mysql01/conf:/etc/mysql \ -e MYSQL_ROOT_PASSWORD=123456 \ -d mysql:5.7
# bind 192.168.1.100 10.0.0.1 # bind 127.0.0.1 ::1 #bind 127.0.0.1 protected-mode no port 6379 tcp-backlog 511 requirepass root timeout 0 tcp-keepalive 300 daemonize no supervised no pidfile /var/run/redis_6379.pid loglevel notice logfile "" databases 30 always-show-logo yes save 900 1 save 300 10 save 60 10000 stop-writes-on-bgsave-error yes rdbcompression yes rdbchecksum yes dbfilename dump.rdb dir ./ replica-serve-stale-data yes replica-read-only yes repl-diskless-sync no repl-disable-tcp-nodelay no replica-priority 100 lazyfree-lazy-eviction no lazyfree-lazy-expire no lazyfree-lazy-server-del no replica-lazy-flush no appendonly yes appendfilename "appendonly.aof" no-appendfsync-on-rewrite no auto-aof-rewrite-percentage 100 auto-aof-rewrite-min-size 64mb aof-load-truncated yes aof-use-rdb-preamble yes lua-time-limit 5000 slowlog-max-len 128 notify-keyspace-events "" hash-max-ziplist-entries 512 hash-max-ziplist-value 64 list-max-ziplist-size -2 list-compress-depth 0 set-max-intset-entries 512 zset-max-ziplist-entries 128 zset-max-ziplist-value 64 hll-sparse-max-bytes 3000 stream-node-max-bytes 4096 stream-node-max-entries 100 activerehashing yes hz 10 dynamic-hz yes aof-rewrite-incremental-fsync yes rdb-save-incremental-fsync yes
这里注意如果用多行运行可能有点问题这里我们把命令缩成一行
docker run -p 6379:6379 --name redis --restart=always \ -v /usr/local/redis/redis.conf:/etc/redis/redis.conf \ -v /usr/local/redis/data:/data \ -d redis redis-server /etc/redis/redis.conf \ --appendonly yes --requirepass 123456 参数说明: -restart=always 总是开机启动 -p 宿主机端口和容器端口映射 -v 挂载数据卷 -d 后台启动redis - -appendonly yes 开启持久化 --requirepass 123456 设置密码
进入redis容器
docker exec -it redis redis-cli # 输入密码 登录 auth "123456"
本文作者:酷少少
本文链接:
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!