常用命令
查看运行容器:
docker ps
创建并运行容器:
docker run [REPOSITORY]
查看所有容器(含停止的):
docker ps -a
强制杀死容器:
docker kill [CONTAINER ID]
停止容器:
docker stop [CONTAINER ID]
启动容器:
docker start [CONTAINER ID]
强制停止所有容器:
docker kill $(docker ps -a -q)
停止所有容器:
docker stop $(docker ps -a -q)
清理所有容器:
docker rm $(docker ps -a -q)
退出容器,但是不停止:
control+P+Q
进入容器:
docker exec -it [CONTAINER ID] /bin/bash
删除none镜像:
docker rmi $(docker images | grep "none" | awk '{print $3}')
容器执行完删除容器:
docker run -it --rm --name=zhuaqu python
查看容器资源使用情况:
docker stats --no-stream
清理:
docker system prune -a
查看日志
查看容器运行日志:
docker logs [Container ID]
跟踪查看容器运行日志:
docker logs -f [Container ID]
跟踪容器运行最新日志:
docker logs --tail 0 -f [Container ID]
跟踪容器运行最新日志10行:
docker logs --tail 10 -f [Container ID]
跟踪容器运行日志添加时间戳:
docker logs -ft [Container ID]
提升权限
–privileged=true
Tomcat
拉取镜像:
docker pull tomcat
运行容器(本机8081端口映射容器端口8080):
docker run -d -p 8081:8080 --name=tomcat tomcat
查看端口绑定:
docker port [CONTAINER ID]
宿主容器共享路径:
docker run --name=appTomcat --privileged=true -d -v ~/Docker/tomcat/webapps/ybs-app:/usr/local/tomcat/webapps/ROOT -v ~/Docker/tomcat/logs/ybs-app:/usr/local/tomcat/logs -p 8081:8080 tomcat
Nginx
拉取镜像:
docker pull nginx
运行镜像:
docker run --name=nginx --restart=always -d -p 8081:80 -v ~/Docker/nginx/nginx.conf:/etc/nginx/nginx.conf nginx
Jenkins
拉取镜像:
docker pull jenkins
运行容器:
docker run --name=jenkins --restart=always -d -p 8080:8080 -p 50000:50000 -v /root/jenkins:/var/jenkins_home jenkinsci/blueocean
Cnetos
拉取镜像:
docker pull centos
运行容器:
docker run -it -d centos /bin/bash
进入容器:
docker attach [Container ID]
MySql
拉取镜像:
docker pull mysql
运行容器:
docker run --restart=always --name=ls_mysql -v /root/mysql:/var/lib/mysql -d -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 mysql
Redis
拉取镜像:
docker pull redis
运行容器:
docker run -p 63579:6379 --name redis --restart=always -d redis redis-server --appendonly yes --requirepass "$%#ecd13%"
进入容器:
docker exec -it [Container ID] redis-cli --raw
GitLab
拉取镜像:
docker pull gitlab/gitlab-ce:latest
【实战使用jenkins持续集成tomcat】部署 WebApp.java 项目
echo '***** 构建 *****'
mvn clean package -P dev -Dmaven.test.skip=true
echo '***** 编译镜像 *****'
docker build . -t="lszy"
echo '***** 停止服务1,使用热备服务2 *****'
if docker ps -f NAME=lszy1 | grep -i lszy1; then
docker stop lszy1
docker rm lszy1
fi
docker run --name=lszy1 --restart=always -m 1G -d -p 8081:8081 lszy
echo '***** 启动服务1 *****'
echo '***** 休眠10秒 *****'
sleep 10
echo '***** 停止服务2 *****'
if docker ps -f NAME=lszy2 | grep -i lszy2; then
docker stop lszy2
docker rm lszy2
fi
docker run --name=lszy2 --restart=always -d -p 8082:8081 lszy
echo '***** 启动服务2 *****'
echo '***** 删除none镜像 *****'
docker rmi $(docker images | grep "none" | awk '{print $3}')
echo '***** 发布完成 *****'