1.1.1 查看已安装的docker列表
[root@centos7: ~]#yum list installed | grep docker
containerd.io.x86_64 1.3.7-3.1.el7 @docker-ce-stable
docker-ce.x86_64 3:19.03.13-3.el7 @docker-ce-stable
docker-ce-cli.x86_64 1:19.03.13-3.el7 @docker-ce-stable
1.1.2 删除已安装的docker
yum -y remove docker-ce.x86_64
$ sudo yum install -y yum-utils
$ sudo yum-config-manager
--add-repo
https://download.docker.com/linux/centos/docker-ce.repo
# 安装最新版
$ sudo yum install docker-ce docker-ce-cli containerd.io
# 列出docker 版本
yum list docker-ce --showduplicates | sort -r
## 安装指定版本的docker 例如 docker-ce-18.09.1
$ sudo yum install docker-ce- docker-ce-cli- containerd.io
$ sudo systemctl start docker
通过运行hello-world映像,验证Docker引擎已正确安装。
$ sudo docker run hello-world
停止docker
$ sudo systemctl stop docker
查看docker 的帮助命令,最后有一句Run 'docker COMMAND --help' for more information on a command.
查看docker 子命令的帮助文档使用docker
[root@VM-0-9-centos: ~]#docker --help
Usage: docker [OPTIONS] COMMAND
A self-sufficient runtime for containers
Options:
...
Management Commands:
builder Manage builds
...
Commands:
...
images List images
ps List containers
pull Pull an image or a repository from a registry
...
Run 'docker COMMAND --help' for more information on a command.
$ sudo docker image list
or
$ sudo docker images
# 如果不存在/etc/docker文件夹就创建
$ sudo mkdir -p /etc/docker
# 不存在daemon.json 文件就创建
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://ivy3rays.mirror.aliyuncs.com"]
}
EOF
# 重启服务
sudo systemctl daemon-reload
sudo systemctl restart docker
# 拉取镜像
$ sudo docker pull image-name[:version]
$ sudo docker search tomcat
删除镜像,可以使用镜像的名称,镜像的id 多个使用空格隔开。
$ sudo docker rmi image-name [IMAGE ID]
$ sudo Usage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
# 创建 centos 容器
docker run -it --name=c1 centos /bin/bash
# -i: 交互式容器
# -t: tty终端,操作容器
$ sudo docker run -itd --name c2 centos /bin/bash
# 连接守护式容器
$ sudo docker exec -it c2 /bin/bash
$ sudo docker ps
$ sudo docker ps -a
$ sudo docker ps -l
$ sudo docker ps -aq
$ sudo docker inspect container-name
# 查看具体属性(例:查看容器IP地址)
$ sudo docker inspect -f='{{.NetworkSettings.IPAddress}}' container-name
$ sudo docker start container-name [container-name1]
$ sudo docker stop container-name [container-name1]
$ sudo docker restart container-name [container-name1]
可以删除多个,但不能删除正在运行的容器。
$ sudo docker rm container-name [container-id]
# 删除所有容器
$ sudo docker rm `docker ps -aq`
$ sudo docker logs container-name/container-id
将宿主机上的文件拷贝到容器中取,或把容器中的文件拷贝到宿主机上。
注意:停止的容器也能进行操作
$ sudo docker cp 需要拷贝的文件或目录 容器名称:容器目录
#例如:
$ sudo docker cp 1.txt c1:/root
$ sudo docker cp 容器名称:容器目录 需要拷贝到文件目录
#例如:
$ sudo docker cp c1:/root/1.txt /root
我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可以通过修改宿主机某个目录的文件从而去影响容器。
创建容器添加-v参数后边为 宿主机目录:容器目录
$ sudo docker run -id --name=c1 -v /opt/:/usr/local/myhtml centos