docker常用命令

1.镜像管理

docker pull (镜像名)    # 默认拉取最新版本的镜像
docker pull (镜像名:版本号) #拉取指定版本的镜像
docker push (镜像名) # 推送镜像
docker images # 查看当前机器的所有镜像
docker rmi 镜像名 #删除一个镜像
docker tag 源镜像名:版本号 自定义镜像名:版本号 # 为一个镜像打tag
docker save busybox > busybox.tar # 制作镜像
docker load < busybox.tar # 导入镜像

给镜像重命名tag只是在原来的镜像上建立了一个软连接,删除镜像也只是删除tag,直到只剩原镜像

2.容器管理

free -h    #查看宿主机存储空间
# 运行容器
# 容器运行时的参数
#--name 指定容器名称 -d 后台运行 -p 指定端口映射规则
#--networkd 指定容器运行的网络模式 -v 指定需要挂载的数据卷
#-e 指定需要传递给容器的环境变量 进入交互,env|grep 环境变量 查看环境变量是否传入成功
docker run jenkins #直接运行
docker run -d jenkins #后台运行
docker run -d --name (容器名) (镜像名) #指定容器name运行
docker stop (容器名) #停止容器
docker kill (容器名) #杀死容器
docker rm (容器名)
docker rm -f (容器名) #强行删除容器
docker ps #列出运行的容器
docker ps -a #列出所有的容器
docker ps -a -s #列出所有容器及占用硬盘空间



CONTAINER ID:容器的id,唯一
IMAGE:使用的镜像
COMMAND:启动容器的脚本
CREATED:创建的时间
STATUS:当前容器的状态
PORTS:当前容器对外暴露的端口号
NAMES:指定的name
## 3.查看信息命令
```#shell
#查看日志
docker logs (容器id)
docker logs (容器名)
#日志实时滚动
docker logs -f ${CONTAINER ID}
docker logs -f (容器名称)
docker info #查看docker服务的信息
docker inspect (容器名称) #查看容器的元数据
docker stats 容器名 #查看容器当前占用的资源,如CPU,内存
```
## 4.容器交互命令
```#shell
docker exec -it 容器名 bash
docker exec 容器名 echo "hello world"
docker exec 容器名 ping www.baidu.com
docker cp path/file 容器名:/path
```
## 5.端口映射 宿主机端口号:容器端口号
```#shell
docker run -d --name csjjenkins jenkins
#启动的容器网络并未对外暴露,在用网络名称空间隔离着,不能访问。
```
端口映射:把容器网络的端口映射到宿主机上,将访问宿主机某个端口的网络流浪包转发给容器,间接达到通信的目的。
```#shell
docker run -d --name csjjenkins -p 8080:8080 jenkins
```
第一次启动Jenkins,需要填入初始化密码

6.文件挂载

持久化或数据保存能力:防止容器挂掉或被人误删导致数据丢失,需要经容器中的数据保存到本地。

docker run -d --name csjjenkins -p 8080:8080 -v /Users/chenshanju/Desktop/docker/images/csjjenkins_home:/var/jenkins_home jenkins

FAQ

1.删除容器

先停止容器

docker stop ${CONTAINER ID}

docker stop ${NAMES}

删除容器

docker rm -f ${CONTAINER ID}

docker rm -f ${NAMES}

2.挂载时遇到的权限问题

需要修改下目录权限,因为当映射本地数据卷时,/Users/chenshanju/Desktop/docker/images/csjjenkins_home目录的拥有者是chenshanju,而容器中Jenkins用户的uid为1000

用户身份不一致会导致权限问题

1.chmod 777 /csjjenkins_home

2.sudo chown -R 1000:1000 /User/chenshanju/Desktop/docker/images/csjjenkins

最新文章

  1. [LeetCode] Department Top Three Salaries 系里前三高薪水
  2. CSS 伪类
  3. java中的this和super的作用和异同和C++中调用父类的构造函数
  4. xcode 插件之KSImageNamed-Xcode
  5. HDU 1402 A * B Problem Plus(FFT)
  6. WITH (NOLOCK)
  7. Java 炫舞按键功能 DancingPlay (整理)
  8. 在 CentOS 中编译安装 VIM 7.3
  9. oracle如何获取上个月的月份
  10. (转载)PHP json_encode() 函数介绍
  11. python s12 day3
  12. 转:cookie和session(一)——原理
  13. Asp.net Mvc 中的模型绑定
  14. 令人费解的java泛型
  15. Python第八章(北理国家精品课 嵩天等)
  16. day8--socket文件传输
  17. .NET Core开发日志——从搭建开发环境开始
  18. information_schema
  19. oracle之rman备份
  20. ssh Socket error Event: 32 Error: 10053.

热门文章

  1. python 列表字符串元素乱序
  2. JAVA-随机生成四则运算
  3. 【Python】实现将testlink上的用例指定格式保存至Excel,用于修改上传
  4. 雷林鹏分享:JSP 简介
  5. HIVE之正则化详解
  6. git 如何关联多个库
  7. Big Table中文翻译
  8. DIY远程控制开关(tiny6410+LED+yeelink+curl)
  9. 浅谈Http1.0/Http1.1/Http2.0/Https
  10. PostgreSQL查询长连接