docker安装
安装docker
sudo wget -qO- https://get.docker.com/ | sh
下面的是输出内容
# Executing docker install script, commit: 2f4ae48
+ sudo -E sh -c apt-get update -qq >/dev/null
+ sudo -E sh -c apt-get install -y -qq apt-transport-https ca-certificates curl >/dev/null
+ sudo -E sh -c curl -fsSL "https://download.docker.com/linux/ubuntu/gpg" | apt-key add -qq - >/dev/null
Warning: apt-key output should not be parsed (stdout is not a terminal)
+ sudo -E sh -c echo "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable" > /etc/apt/sources.list.d/docker.list
+ sudo -E sh -c apt-get update -qq >/dev/null
+ [ -n ]
+ sudo -E sh -c apt-get install -y -qq --no-install-recommends docker-ce >/dev/null
+ sudo -E sh -c docker version
Client:
Version: 18.09.6
API version: 1.39
Go version: go1.10.8
Git commit: 481bc77
Built: Sat May 4 02:35:57 2019
OS/Arch: linux/amd64
Experimental: false
Server: Docker Engine - Community
Engine:
Version: 18.09.6
API version: 1.39 (minimum version 1.12)
Go version: go1.10.8
Git commit: 481bc77
Built: Sat May 4 01:59:36 2019
OS/Arch: linux/amd64
Experimental: false
If you would like to use Docker as a non-root user, you should now consider
adding your user to the "docker" group with something like:
sudo usermod -aG docker hzj
Remember that you will have to log out and back in for this to take effect!
执行第32行的命令
# hzj是这台电脑的用户名,这里改成自己的
sudo usermod -aG docker hzj
安装好docker之后,可以执行docker --help
查看docker命令
容器的运用
安装好docker之后,可以从https://hub.docker.com/搜索想要的镜像。
拉取Ubuntu
通过docker拉取Ubuntu
docker pull ubuntu:18.04
执行命令之后就会从https://hub.docker.com/上拉取Ubuntu镜像
查看安装好的全部docker镜像
docker images
# 输出
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 7698f282e524 1 minutes ago 69.9MB
进入Ubuntu容器
# --cap-add=NET_ADMIN: 网络管理(NET_ADMIN),不需要可以不加
# -it:表示-i -t,-t表示分配tty设备,该可以支持终端登录,-i表示打开STDIN,用于控制台交互,可以使用docker run --help命令查看docker run所带的参数
# --rm:容器退出时就能够自动清理容器内部的文件系统,不加--rm,在容器退出后还会存在,可以通过docker ps -a进行查看,最后加这个,不然在删除docker镜像的时候删除不了,需要docker rm CONTAINER ID,才能够删除
docker run --cap-add=NET_ADMIN -it --rm ubuntu:18.04 /bin/bash
如果修改了可以保存一份副本
# -m 提交的描述
# -a 提交的作者
# e218edb10161:docker运行的CONTAINER ID,通过docker ps查看
# runoob/ubuntu: 提交docker的REPOSITORY
# v2:提交docker的tag
docker commit -m="has update" -a="runoob" e218edb10161 runoob/ubuntu:v2
删除docker镜像
# 查看镜像
docker images
# 输出
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu 18.04 7698f282e524 10 minutes ago 69.9MB
# 通过IMAGE ID 删除镜像
docker image rm 7698f282e524
# 如果出现以下错误
Error response from daemon: conflict: unable to delete 7698f282e524 (cannot be forced) - image has dependent child images
# 那么将未清理的容器清理掉
docker ps -a
# 输出
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3633fc780eae ubuntu:18.04 "/bin/bash" 56 seconds ago Exited (0) 53 seconds ago
# 通过CONTAINER ID清理容器
docker rm 3633fc780eae
# 在执行docker image rm 7698f282e524就可以删除容器了
docker image rm 7698f282e524