docker安装
安装步骤参考官方文档:docker官方安装步骤
docker常用命令
docker服务命令
systemctl enable docker # 开机自动启动docker
systemctl start docker # 启动docker
systemctl restart docker # 重启dokcer
systemctl stop docker # 关闭dokcer
docker命令:查看
# 查看信息
docker info
# 查看运行中的进程
docker ps
# 查看全部
docker ps -a
docker ps -all
# 显示最后运行
docker ps -l
# 查看该容器的详细信息
docker inspect 44fc0f0582d9
# 由其该信息非常多,只截取了其中一部分进行展示。如果要显示该容器第一个进行的PID可以使用如下方式
docker inspect -f {{.State.Pid}} 44fc0f0582d9
docker exce进入容器命令
# 使用该命令进入一个已经在运行的容器
docker ps
docker exec -it 775c7c9ee1e1 /bin/bash
# 完整版
docker exec -it 镜像ID /bin/bash
# 最小版(alpine)
docker exec -it 镜像ID sh
#以root用户进入
docker exec -itu root 容器名称 sh
docker镜像相关
# 查看docker镜像
docker images
# 删除镜像
docker images rmi
# 构建一个镜像
docker build -t holiday /usr/local/docker/holiday #Re-build docker container
# 打包提交拉取
docker tag kafka-monitor:0.2 10.0.23.11:5000/kafka-monitor:0.2
docker push xxx.xxx.xxx.xxx:5000/kafka-monitor:0.1
docker pull xxx.xxx.xxx.xxx:5000/kafka-monitor:0.1
# 停止所有容器
docker ps |grep holiday |awk '{print $1}' |xargs -i docker stop {}
# 提交一个镜像
docker commit 1a442630f4a9 test/javaweb:0.0
docker查看日志
# docker日志查询
docker logs 2f2de065fd05/容器名
docker停止和删除
# 杀死所有正在运行的容器
docker kill $(docker ps -a -q)
# 删除所有已经停止的容器
docker rm $(docker ps -a -q)
# 删除所有未打 dangling 标签的镜像
docker rmi $(docker images -q -f dangling=true)
# 删除所有镜像
docker rmi $(docker images -q)
# 根据 IMAGE ID 来删除
docker rmi ee7cbd482336
docker容器复制文件
#从容器内部将文件复制到外部
docker cp 371f3ff1f43b:/usr/local/bin/etcdctl /usr/local/bin/etcdctl
#从容器外部复制文件到容器内部
docker cp /usr/local/bin/etcdctl 容器名称:/usr/local/bin/etcdctl
docker为命令创建别名
# 杀死所有正在运行的容器.
alias dockerkill='docker kill $(docker ps -a -q)'
# 删除所有已经停止的容器.
alias dockercleanc='docker rm $(docker ps -a -q)'
# 删除所有未打标签的镜像.
alias dockercleani='docker rmi $(docker images -q -f dangling=true)'
# 删除所有已经停止的容器和未打标签的镜像.
alias dockerclean='dockercleanc || true && dockercleani'
另附上docker常用命令
docker version #查看版本
docker search tutorial#搜索可用docker镜像
docker pull learn/tutorial #下载镜像
docker run learn/tutorial echo "hello word"#在docker容器中运行hello world!
docker run learn/tutorial apt-get install -y ping#在容器中安装新的程序
docker运行一个镜像
# 运行docker镜像
docker run -i -t -v /root/software/:/mnt/software/ --privileged=true index.alauda.cn/alauda/ubuntu /bin/bash
# 运行一个jenkins镜像的例子命令
sudo docker run \
-d -p 8088:8080 -p 50000:50000 \
-v /home/docker/jenkins_home/:/var/jenkins_home \
-v /var/run/docker.sock:/var/run/docker.sock \
-v $(which docker):/usr/bin/docker \
-v $(which git):/usr/bin/git \
-v ~/.ssh:/var/jenkins_home/.ssh \
--name=jenkins jenkinsci/jenkins
完整运行步骤
# 第一次运行
sudo docker run --name myjenkins -p 8088:8080 -p 50000:50000 -d docker.io/jenkinsci/jenkins
# 停止
docker stop myjenkins
# 启动(是没有问题的)
docker start myjenkins
# 重新commit一个新的
docker ps -a 获取到ff2d09d0ddd8
# 提交一个成为新镜像
docker commit ff2d09d0ddd8 test/jenkins:0.2