Nginx搭建:
一行命令启动nignx:
-
docker run -d -p 5003:80 --name mynginx nginx
(最简模式) -
docker run -d -p 5003:80 -v "$PWD/html":/usr/share/nginx/html --name mynginx nginx
(映射文件)-
在html目录下创建一个.html文件然后挂载到nginx的对应目录下,之后访问nginx时,就会展示html文件的内容;
-
-d 后台运行:将容器运行在后台模式下,即在容器启动后会立即返回命令行提示符,不会将容器的输出显示在当前终端上。
-p 端口映射:将宿主机端口和容器端口映射,实现容器和外界相互访问, -p 宿主端口:容器端口 ;
-v 目录挂载:将指定文件挂载到容器目录中,实现容器对文件的使用, -v 宿主文件位置:容器文件位置 ;
Mysql搭建:
一行命令启动 mysql:
docker run --name some-mysql -v /home/gaofei/test/mysql:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=1qaz9ol. -p 8888:3306 -d mysql:5.5
-e:为容器设置环境变量:例如上边的MYSQL_ROOT_PASSWORD=1qaz9ol.则是为mysql的root用户设置了一个密码,当在容器中使用root登录mysql时,需要输入对应密码;
Jenkins搭建:
一行命令启动 Jenkins
- docker run --name myjenkins -itd -p 5003:8080 -p 50000:50000 --restart always --privileged=true --user root --env JAVA_OPTS="-Xmx8192m" -v $(pwd)/jenkins_data:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock -v /bin/docker:/bin/docker jenkins/jenkins:lts
-itd: -it -d ;
-p:可以指定多个端口映射,8080是jenkins web服务的端口,50000是jenkins slave服务的端口;
--restart always: 当容器因为其他原因退出时,docker会自动重启容器;
--privileged=true: 给docker开启特权模式,因为需要使用到docker out docker,即在容器中调用容器外的docker;
-user root: 使用root用户启动容器;
--env: -e ;
Jira搭建:
docker run -v "$PWD"/jira:/var/atlassian/application-data/jira --name="jira" -d -p 5003:8080 atlassian/jira-software
Testlink搭建:
一行命令启动testlink:
- docker network create testlink-net
- docker run -d --name mariadb \
-e MARIADB_ROOT_PASSWORD=mariadb \
-e MARIADB_USER=bn_testlink \
-e MARIADB_PASSWORD=bn_testlink \
-e MARIADB_DATABASE=bitnami_testlink \
--net testlink-net bitnami/mariadb:10.3.22 - docker run -d -p 8080:8080 \
-p 8443:8443 --name testlink \
-e TESTLINK_DATABASE_USER=bn_testlink \
-e TESTLINK_DATABASE_PASSWORD=bn_testlink \
-e TESTLINK_DATABASE_NAME=bitnami_testlink --net testlink-net \
bitnami/testlink-archived
创建testlink时需要启动两个容器,一个是testlink,另一个是数据库,然后将数据库和testlink关联;
详情可见:软件测试/测试开发丨仅需4步,即可用 Docker搭建测试用例平台 TestLink_霍格沃兹测试开发学社的博客-优快云博客
--link 容器名称 / 容器id:将另外一个容器与当前容器关联;原理是将另一个容器的相关信息以环境变量的形式写入到当前容器中,这样当前容器便可以获取到另一个容器的信息;(不常用)