|
| 1 | +--- |
| 2 | +layout: post |
| 3 | +title: "Docker常用命令" |
| 4 | +description: "" |
| 5 | +category: articles |
| 6 | +tags: [docker] |
| 7 | +image: |
| 8 | + feature: |
| 9 | + credit: Michael Rose |
| 10 | + creditlink: http://mademistakes.com |
| 11 | +comments: true |
| 12 | +share: true |
| 13 | +--- |
| 14 | + |
| 15 | + |
| 16 | +# 列出本机的所有 image 文件。 |
| 17 | +$ docker image ls |
| 18 | + |
| 19 | +# 删除 image 文件 |
| 20 | +$ docker image rm [imageName] |
| 21 | + |
| 22 | + |
| 23 | +首先,运行下面的命令,将 image 文件从仓库抓取到本地。 |
| 24 | + |
| 25 | +$ docker image pull library/hello-world |
| 26 | +$ docker image pull hello-world |
| 27 | + |
| 28 | +抓取成功以后,就可以在本机看到这个 image 文件了。 |
| 29 | +$ docker image ls |
| 30 | + |
| 31 | +运行这个 image 文件。 |
| 32 | +$ docker container run hello-world |
| 33 | +$ docker container run -it ubuntu bash |
| 34 | + |
| 35 | +对于那些不会自动终止的容器,必须使用docker container kill 命令手动终止。 |
| 36 | +$ docker container kill [containID] |
| 37 | + |
| 38 | +# 列出本机正在运行的容器 |
| 39 | +$ docker container ls |
| 40 | + |
| 41 | +# 列出本机所有容器,包括终止运行的容器 |
| 42 | +$ docker container ls --all |
| 43 | + |
| 44 | +$ docker container rm [containerID] |
| 45 | + |
| 46 | + |
| 47 | +# 镜像 |
| 48 | + |
| 49 | +## 查看centos镜像是否存在 |
| 50 | +$ docker search centos |
| 51 | + |
| 52 | +## 拉取镜像 |
| 53 | +$ docker pull ubuntu |
| 54 | +$ docker pull ubuntu:latest |
| 55 | +$ docker pull ubuntu:16.04 |
| 56 | + |
| 57 | +## 查看镜像 |
| 58 | +$ docker images |
| 59 | +$ docker image ls |
| 60 | + |
| 61 | +## 创建镜像 |
| 62 | + |
| 63 | +使用docker build命令来创建镜像mysql:latest: |
| 64 | +$ docker build -t mysql:latest . |
| 65 | + |
| 66 | +## 使用镜像 |
| 67 | + |
| 68 | +使用默认方式启动后台容器,不添加环境变量,并使用-P参数自动映射容器的22和3306端口。 |
| 69 | +$ docker run ubuntu |
| 70 | +$ docker run -d -P mysql |
| 71 | +$ docker run -it -p 8080:8080 ubuntu /bin/bash |
| 72 | + |
| 73 | +## 进入容器 |
| 74 | + |
| 75 | +以下命令在退出终端时容器会被关闭; |
| 76 | +$ docker attach -it <container_id 或 container_name> /bin/bash |
| 77 | + |
| 78 | +以下命令在退出终端时不会造成容器被关闭的情况; |
| 79 | +$ docker exec -it <container_id 或 container_name> /bin/bash |
| 80 | + |
| 81 | +挂载本地目录到 docker 容器中; |
| 82 | +$ docker exec -it -v /home/ubuntu/PATH:/home/ubuntu/REMOTE_PATH <container_id 或 container_name> /bin/bash |
| 83 | + |
| 84 | +## 复制文件 |
| 85 | +$ docker cp file.tgz 4ac6e4d9a113:/home/ubuntu/ |
| 86 | + |
| 87 | +## 进程详情 |
| 88 | +检查容器进程启动情况和端口映射情况,查看docker中运行的程序。 |
| 89 | +$ docker ps -a |
| 90 | + |
| 91 | +# 容器 |
| 92 | + |
| 93 | +这里将容器转化为一个镜像,即执行commit操作,完成后可使用docker images查看: |
| 94 | +$ docker commit -m "centos with git" -a "qixianhu" 72f1a8a0e394 xianhu/centos:git |
| 95 | + |
| 96 | +# 账号 |
| 97 | + |
| 98 | +docker login |
| 99 | + |
| 100 | +## 保存镜像到本地磁盘 |
| 101 | + |
| 102 | +$ docker save -o demo_nginx.tar tester/nginx |
| 103 | + |
| 104 | +## 从本地文件加载镜像 |
| 105 | + |
| 106 | +docker load --input demo_nginx.tar |
0 commit comments