常用命令

查看运行容器:

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 '*****   发布完成   *****'