赞
踩
以下采用Ubuntu系统学习Docker容器化技术。
在Ubuntu中,系统为我们自动安装了一个叫apt
的软件管理器。我们可以输入apt install
来指定我们要安装什么软件,而Centos系统采用的yum进行安装的。所以此处采用apt-get命令安装。
不要忘了回到开头加上sudo,以管理员身份运行,sudo apt install docker.io
,输入密码,回车进行docker安装,输入y确认。或者直接输入:sudo apt-get install docker.io -y
查看安装是否成功sudo docker -v
或docker -v
查看版本,看到如下这样的输出,说明软件已经安装好了
sudo docker info
sudo docker --help
这里主要介绍Linux版的Docker服务启动与关闭,如需Windows的请询问度娘,个人认为Windows版Docker还是很少装。本人也体验过Windows版从安装到使用都没用Linux版的好用。
注:systemctl命令是系统服务管理器指令,它是 service 和 chkconfig 两个命令组合
sudo vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock/
systemctl daemon-reload
systemctl restart docker
netstat -tnlp |grep 2375
curl 127.0.0.1:2375/info
sudo apt-get update
sudo apt install curl
如果上述第4步启动docker报错的话,
可以采用以下方案
注释:ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
增加一行ExecStart=/usr/bin/dockerd
[root@web-dev1 system]# sudo vim /usr/lib/systemd/system/docker.service [Unit] Description=Docker Application Container Engine Documentation=https://docs.docker.com After=network-online.target firewalld.service containerd.service Wants=network-online.target Requires=docker.socket containerd.service [Service] Type=notify # the default is not to use systemd for cgroups because the delegate issues still # exists and systemd currently does not support the cgroup feature set required # for containers run by docker # ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock ExecStart=/usr/bin/dockerd ExecReload=/bin/kill -s HUP $MAINPID TimeoutSec=0 RestartSec=2 Restart=always
然后修改daemon.json,追加hosts配置项
[root@web-dev1 system]# sudo vim /etc/docker/daemon.json
,增加以下配置
{
"registry-mirrors": ["https://dockerhub.azk8s.cn","https://hub-mirror.c.163.com"],
"exec-opts": ["native.cgroupdriver=cgroupfs"],
"log-driver": "json-file",
"log-opts": {"max-size": "10m","max-file": "10"},
"insecure-registries": ["1.1.1.1:2021"],
"hosts": ["tcp://0.0.0.0:2375", "unix:///var/run/docker.sock"]
}
保存以上配置后,重复执行上述第3、4、5、6步进行验证
(1)、删除一个或多个容器
docker rm 容器ID…
(2)、查看容器的详细信息
docker inspect 44fc0f0582d9
(3)、显示所有容器
docker ps -a
(4)、显示正在运行的容器
docker ps
(5)、启动一个或多个已被停止的容器
docker start 容器名
(6)、停止一个运行中的容器
docker stop 容器名
(7)、重启容器
docker restart 容器名
(8)、进入Docker容器
####8214f935f4ea通过docker ps命令找到CONTAINER ID,推荐开发环境使用
第一种:attach命令
docker attach 8214f935f4ea(或者:sudo docker attach 4968e97f588d)
第二种:exec命令
sudo docker exec -it 4968e97f588d /bin/bash
第四种:进入一个已经在运行的容器,推荐生产环境使用
docker exec -it 8214f935f4ea /bin/bash
(9)、镜像操作
sudo docker pull ubuntu
sudo docker images
sudo docker search ubuntu
sudo docker rmi 0e2e63d6b600
sudo docker commit -a “Yongzheng” -m “Ubuntu:16” 4968e97f588d ubuntu:16.6
(10)、容器操作
容器查询
sudo docker ps
sudo docker ps -a
容器启动
sudo docker start 4968e97f588d
sudo docker restart 4968e97f588d
sudo docker stop 4968e97f588d
(11)、运行第一个容器
$sudo docker run --name 容器名 -i -t centos /bin/bash
新建容器基于centos基准镜像,将会从本地查找,找不到从互联网下载该镜像.
docker run 新建镜像命令
-i-t 为支持标准输入STDIN,分配伪tty终端
/bin/bash将会能够看到容器内的shell
eg、sudo docker run --name hello-world -i -t centos /bin/bash
docker search mysql 找 Docker Hub 上的 mysql 镜像
systemctl stop firewalld.service 关闭防火墙
docker inspect 容器id 查询容器信息
docker stop 容器id 停止容器id
docker rm 容器id 删除容器id
systemctl restart docker 重启docker容器
docker exec -it 容器ID /bin/bash 进入容器
docker rm $(sudo docker ps -a -q) 删除所有未运行的容器
docker search elasticsearch 搜索镜像文件
docker run 创建并启动一个容器,在run后面加上-d参数,则会创建一个守护式容器在后台运行。
docker ps -a 查看已经创建的容器
docker ps -s 查看已经启动的容器
docker start con_name 启动容器名为con_name的容器
docker stop con_name 停止容器名为con_name的容器
docker rm con_name 删除容器名为con_name的容器
docker rename old_name new_name 重命名一个容器
docker attach con_name 将终端附着到正在运行的容器名为con_name的容器的终端上面去,前提是创建该容器时指定了相应的sh
docker logs --tail=“10” 容器名称 查询容器日志信息
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。