docker是个好东西,但是每次用到某些docker命令的时候又要跑去搜搜搜
干脆自己写个博客,把自己常用的docker命令收集起来方便用。
运行环境 Runtime environment
1 2 3
| 操作系统: ubuntu18.04 IDE: JetBrains Pycharm 2019.2.4 x64 语言: Python 3.7.4
|
安装和卸载
卸载旧版本
Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:
1
| sudo apt-get remove docker docker-engine docker.io containerd runc
|
安装docker
我比较喜欢图省事233,使用docker官方提供的脚本安装!
1 2 3 4 5 6 7 8
| sudo wget -qO- https://get.docker.com/ | bash
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
docker --version Docker version 18.06.1-ce, build e68fc7a
|
如果当前用户不是root,或你想让非root用户也能把玩docker的话,需要执行添加一下docker用户组:
1 2 3 4
| sudo groupadd docker
udo usermod -aG docker $USER
|
退出当前终端并重新登录,然后输入
docker info
如果噼里啪啦出来一大堆,没有报错就成功了。
配置加速
docker直接拉取的速度老慢了,很烦人,所以配置一些加速服务器来提高拉去速度。
vim /etc/docker/daemon.json
输入如下内容:
1 2 3 4 5 6
| { "registry-mirrors": [ "https://dockerhub.azk8s.cn", "https://hub-mirror.c.163.com" ] }
|
注意,一定要保证该文件符合 json 规范,否则 Docker 将不能启动。
配置完成后,保存退出vim,并且重新启动服务
sudo systemctl daemon-reload
sudo systemctl restart docker
到这里配置加速就搞定了。
常用命令
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| # docker 信息 docker info
# docker 镜像 docker images # 删除docker镜像 docker rmi [images id]
# docker 进程 docker ps
# docker 运行 docker run [镜像名称] # 例如: docker run --name='localScarpyd6800' -itd -p 6800:6800 --restart=always raxianch/scrapyd
--name:给被运行的容器设置名字.
-it: -t让docker分配一个伪终端并绑定到容器的标准输入上, -i则让容器的标准输入保持打开.
-itd: 多个d是让docker绑定一个伪终端和保持打开状态且在后台运行.
-p: 端口映射 # 例如:将nginx的80端口映射到宿主机的800端口上 docker run -d -it -p 800:80 nginx
--restart:--restart=always表示自动重启,默认值为--restart=no。 如果使用always关闭该容器时需要docker update --restart=no [容器id]&&docker stop [容器id]
--rm: 表示关闭容器时,删除该容器。它不能和--restart=always同时使用。
# 进入已经运行得容器内部 docker exec -it 5be7dae2d7df /bin/bash
# 停止容器 docker stop
# 复制宿主机文件到docker容器中 docker cp [本地目录/文件] [容器ID/name]:[容器内的目录/文件] 例如:docker cp ./jdScrapy localScarpyd6800:tmp/jdScrapy
# 复制docke容器中的文件到宿主机 docker cp [容器ID/name]:[容器内的目录/文件] [本地目录/文件] 例如:docker cp localScarpyd6800:tmp/jdScrapy ./jdScrapy
|
总结
没啥总结,docker还是刚刚开始去用,深刻的理解还是没有的233333.
只是把自己常用命令放一起方便用。