镜像得自己拉
docker pull xxx
nginx得启动示例docker run --name nginx -p 80:80 --network devops --network-alias nginx -v /usr/local/docker/nginx/conf.d:/etc/nginx/conf.d -d nginx
docker run --name nginx -p 80:80 --network devops --network-alias nginx -v C:\software\nginx\conf.d:/etc/nginx/conf.d -d nginx
mysql启动docker run -p 3306:3306 --network devops --network-alias mysql --name mysql -v C:/software/mysql/config/mysql.cnf:/etc/mysql/conf.d/mysql.conf -v C:/software/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql --default-authentication-plugin=mysql_native_password--character-set-server=utf8mb4 --collation-server=utf8mb4_ general_ci
mysql8.0 要搞一搞配置文件,可参照[mysqld]
default_authentication_plugin=mysql_native_password
sql-mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES,ALLOW_INVALID_DATES
一个是默认插件是mysql_native_password,一个是允许0000-00-00 00:00:00
redis启动docker run -d -p 6379:6379 --network devops --network-alias redis --name redis redis --requirepass "123456"
--appendonly yes 这个参数开启持久化
php-fpm启动docker run --network devops_default --network-alias php72-fpm -v c:/software/nginx/html/gva:/usr/share/html/gva -v C:/software/php/config/php.ini:/usr/local/etc/php/php.ini --name php72-fpm -d php:7.2-fpm
jenkins
jenkins 有点坑,需要什么东西,用root用户进入容器,然后用apt安装
jenkins镜像我一般用docker pull jenkins/jenkinsdocker run --network devops --network-alias jenkins --name jenkins -p 10092:8080 -v /software/jenkins/data:/var/jenkins_home jenkins
gitlab
镜像docker pull gitlab/gitlab-cedocker run --network devops --network-alias gitlab --detach --hostname gitlab.xxx.com --publish 10090:80 --publish 10022:22 --name gitlab --restart always --volume /software/gitlab/config:/etc/gitlab --volume /software/gitlab/logs:/var/log/gitlab --volume /software/gitlab/data:/var/opt/gitlab gitlab/gitlab-ce
启动起来改下gitlab.rb在配置文件路径下面,一般改2参数,gitlab_rails['gitlab_shell_ssh_port']和external_url
禅道
镜像docker pull idoop/zentaodocker run --name zentao -p 10091:80 --network devops --network-alias zentao -v /software/zentao/pms:/app/zentaopms -v /software/zentao/mysql:/var/lib/mysql -d easysoft/zentao
showdocdocker run --network devops --network-alias showdoc -d --name showdoc --user=root --privileged=true -p 10093:80 -v /software/showdoc/data/:/var/www/html/ star7th/showdoc
golang-etcd-micro-delayerdocker run -d --name etcd--network devops_default --network-alias etcd --publish 2379:2379 --publish 2380:2380 --env ALLOW_NONE_AUTHENTICATION=yes --env ETCD_ADVERTISE_CLIENT_URLS=http://etcd:2379 bitnami/etcd:latestdocker run -p 10081:10081 -p 9278:9278 --network devops_default --network-alias basego --name basego -itd --privileged centos /usr/sbin/init
网桥说明
查看网桥docker network ls
创建网桥docker network create devops
--network devops --network-alias nginx 这个是网桥,然后给我得nginx取个别名
这个网桥好处不多说,比如你在配置文件中host里面直接用别名完事,别名会自己指向你配好得那个容器去
进入容器
进入容器可以加一个-u root 参数表示用root用户进入docker exec -it basego /bin/bash
文件拷贝-容器到宿主机docker cp mycontainer:/opt/testnew/file.txt /opt/test/
文件拷贝-宿主机到容器docker cp /opt/test/file.txt mycontainer:/opt/testnew/
看docker各个容器得ipdocker inspect --format='{{.Name}} - {{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' $(docker ps -aq)
备注:别想着复制就能用,自己体会得才是自己得