目录
1. 卸载原来安装的docker,如果没有安装可以不需要卸载
3. 安装docker-ce的引擎(容器引擎 container engine)
安装环境:centos7
官方下载步骤:https://docs.docker.com/engine/install/centos/
1. 卸载原来安装的docker,如果没有安装可以不需要卸载
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2. 安装yum相关的工具
sudo yum install -y yum-utils
2.1 下载docker-ce.repo文件
[root@localhost mail]# yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
已加载插件:fastestmirror
adding repo from: https://download.docker.com/linux/centos/docker-ce.repo
grabbing file https://download.docker.com/linux/centos/docker-ce.repo to /etc/yum.repos.d/docker-ce.repo
repo saved to /etc/yum.repos.d/docker-ce.repo
[root@localhost mail]#
3. 安装docker-ce的引擎(容器引擎 container engine)
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
------------------------
docker 是一个容器管理的软件
docker-ce 是服务器端软件 server
docker-ce-cli 是客户端的软件 client
docker-compose-plugin 是compose插件,用来批量启动很多容器,在单台机器上
containerd.io
[root@localhost yum.repos.d]# docker --version
Docker version 20.10.17, build 100c701
[root@localhost yum.repos.d]#
4. 启动docker服务
[root@localhost yum.repos.d]# systemctl start docker
5. 设置开机自启
[root@localhost yum.repos.d]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@localhost yum.repos.d]#
6. 查看docker是否运行启动成功
[root@localhost yum.repos.d]# ps -ef |grep docker
root 2292 1 0 11:40 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 2415 1804 0 11:40 pts/0 00:00:00 grep --color=auto docker
[root@localhost yum.repos.d]#
docker命令
-
docker version 查看docker的版本
-
docker ps 查看目前docker启动的进程
-
docker images 查看镜像
-
docker pull 下载镜像软件
-
docker run 启动容器的命令
[root@localhost yum.repos.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@localhost yum.repos.d]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@localhost yum.repos.d]#
镜像里面包含了我们需要的软件的代码和基础环境,以及依赖软件
下载nginx镜像
[root@localhost yum.repos.d]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
7a6db449b51b: Pull complete
ca1981974b58: Pull complete
d4019c921e20: Pull complete
7cb804d746d4: Pull complete
e7a561826262: Pull complete
7247f6e5c182: Pull complete
Digest: sha256:b95a99feebf7797479e0c5eb5ec0bdfa5d9f504bc94da550c2f58e839ea6914f
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
启动docker容器的nginx镜像
启动docker容器
启动一个容器,可以理解为开启一台虚拟机
[root@localhost yum.repos.d]# docker run -d -p 8090:80 --name nginx-01 nginx
f3228f5b129739df0e9622ecad775435a44b25a7187010d29add5b8fd29fcd57
[root@localhost yum.repos.d]#
--------------------------
docker run 启动容器的命令
-d 在后台运行 daemon 守护进程
-p 8090:90 端口映射
--name nginx-01 指定容器的名字
nginx 镜像的名字
端口映射实现方式
[root@localhost yum.repos.d]# iptables -t nat -L
Chain DOCKER (2 references)
target prot opt source destination
RETURN all -- anywhere anywhere
DNAT tcp -- anywhere anywhere tcp dpt:8090 to:172.17.0.2:80
[root@localhost yum.repos.d]#
查看nginx启动
[root@localhost yum.repos.d]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f3228f5b1297 nginx "/docker-entrypoint.…" 7 minutes ago Up 7 minutes 0.0.0.0:8090->80/tcp, :::8090->80/tcp nginx-01
[root@localhost yum.repos.d]#