docker 常用軟件安裝 nginx mysql redis nextcloud

nginx安裝

docker run -d --name nginx -p 80:80 -p 443:443 \
-v /root/docker/nginx/nginx.conf:/etc/nginx/nginx.conf:ro \
-v /root/docker/nginx/conf/:/etc/nginx/conf.d/:ro \
-v /root/docker/nginx/html/:/usr/share/nginx/html/:ro \
-v /root/docker/nginx/log/:/var/log/nginx/:ro \
nginx

ps:前置操作參考 複製初始配置文件
docker run -d --name ng --rm nginx
docker cp ng:/etc/nginx/nginx.conf /root/docker/nginx/nginx.conf
docker cp ng:/etc/nginx/conf.d/ /root/docker/nginx/conf
docker cp ng:/usr/share/nginx/html/ /root/docker/nginx/html
docker cp ng:/var/log/nginx/ /root/docker/nginx/log

ps: /root/docker : /yourpath 自定義本地地址

mysql安裝

docker run -d --name mysql -p 3306:3306 \
-v /root/docker/mysql/data:/var/lib/mysql \
-v /root/docker/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-e TZ=Asia/Shanghai \
mysql:8.0

ps:前置操作參考 複製初始配置文件
docker run -d --name msql -e MYSQL_ROOT_PASSWORD=root --rm mysql
docker cp msql:/var/lib/mysql/ /root/docker/mysql/data
docker cp msql:/etc/mysql/conf.d/ /root/docker/mysql/conf
docker stop msql

ps:1251無法遠程連接操作參考(mysql8)
docker exec -it mysql bash
mysql -uroot -p -h localhost
select host,user,plugin,authentication_string from mysql.user;
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
flush privileges;


------------------------------------------------------------------------------
#mysql5.7
docker run -d --name mysql57 -p 3306:3306 \
-v /root/docker/mysql57/data:/var/lib/mysql \
-v /root/docker/mysql57/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-e TZ=Asia/Shanghai \
mysql:5.7

docker run -d --name mysql -p 3306:3306 \
-v /Users/qinxq/docker/mysql57/data:/var/lib/mysql \
-v /Users/qinxq/docker/mysql57/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
mysql:5.7

ps:前置操作參考 複製初始配置文件
docker run -d --name msql -e MYSQL_ROOT_PASSWORD=root --rm mysql:5.7
docker cp msql:/var/lib/mysql/ /root/docker/mysql57/data
docker cp msql:/etc/mysql/conf.d/ /root/docker/mysql57/conf
docker stop msql

ps: /root/docker : /yourpath 自定義本地地址

-----------------------------------------------------------------------------
解決dockerMYSQL5.7版本sql_mode=only_full_group_by問題

docker exec -it mysql   /bin/bash
apt-get update
apt-get install vim
/etc/mysql/mysql.conf.d/mysqld.cnf或者my.cnf
[mysqld]
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

解決too many connections 無法連接的問題
SHOW VARIABLES LIKE '%max_con%';
SET GLOBAL max_connections = 3000;


sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-selinux \
                  docker-engine-selinux \
                  docker-engine

redis

docker run -p 6379:6379 --name redis \
	-v /root/docker/redis/redis.conf:/etc/redis/redis.conf  \
	-v /root/docker/redis/data:/data \
	-d redis \
	redis-server /etc/redis/redis.conf \
	--appendonly yes \
	--requirepass "DEV_qin" 
	
	ps:
	 /root/docker : /yourpath 自定義本地地址
	 redis-server /etc/redis/redis.conf  以配置文件啓動redis
	 appendonly yes 開啓redis 持久化

gitbook

docker search -s 3 gitbook //查詢gitbook鏡像 -s stars
docker pull fellah/gitbook //拉取鏡像
docker run \
	-v /root/docker/gitbook:/srv/gitbook \
	-v /root/docker/gitbook/html:/srv/html \
	fellah/gitbook gitbook build . /srv/html

ps: /root/docker/gitbook下需要有README.md和SUMMARY.md文件
ps: /root/docker : /yourpath 自定義本地地址

jekins

docker run -d -p 80:8080 -p 50000:50000 \
-v jenkins:/var/jenkins_home \
-v /etc/localtime:/etc/localtime 
--name jenkins docker.io/jenkins/jenkins

ps:
-d 後臺運行鏡像
-p 8080:8080  將鏡像的8080端口映射到服務器的8080端口
-p 50000:50000  將鏡像的50000端口映射到服務器的50000端口
-v jenkins:/var/jenkins_home  /var/jenkins_home目錄爲jenkins工作目錄,我們將硬盤上的一個目錄掛載到這個位置,方便後續更新鏡像後繼續使用原來的工作目錄。
-v /etc/localtime:/etc/localtime  讓容器使用和服務器同樣的時間設置。
--name jenkins 給容器起一個別名

#從容器中獲取到初始化密碼
docker exec jenkins tail /var/jenkins_home/secrets/initialAdminPassword

nextcloud(個人雲盤)

 docker run  -d --name nextcloud -p 8089:80 \
 -v /nfs/nextcloud:/var/www/html \
 nextcloud
 
 ps:
 /nfs/nextcloud : 容器數據映射本地地址
 nextcloud : 鏡像名稱

tomcat7(jdk7)

docker run -dt --name tomcat7 -p 8080:8080 \
-v /root/docker/tomcat:/home/user/tomcat7/webapps \
codenvy/jdk7_tomcat7
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章