@gabe
2020-06-10T09:40:25.000000Z
字数 2289
阅读 915
未分类
apt-get update
apt-get -y install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | apt-key add -
add-apt-repository "deb [arch=amd64]
http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
apt-get -y update
apt-get -y install docker-ce
docker run --rm hello-world
免sudo
sudo gpasswd -a $USER docker
newgrp docker
docker加速
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://dockerhub.azk8s.cn"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
上面添加的是微软的docker加速镜像,我们也可以添加阿里云的镜像加速器,需要注册阿里云,登陆https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors后可以看到的自己的镜像加速器
启动docker服务,使用service或者systemctl
sudo service docker start
确认docker安装成功
sudo docker info
查看本机已有的镜像
sudo docker images
运行一个docker容器,-i -t代表一个可交互的容器,--name cnt_name
是可选的,给容器起一直名字
sudo docker run --name cnt_name -i -t ubuntu /bin/bash
在后台启动一个nginx容器
sudo docker run --name cnt_name -d nginx
进入上面启动的容器中
docker exec -i -t cnt_name bash
启动一个容器
sudo docker start cnt_name
停止一个容器
sudo docker stop cnt_name
attach到一个正在运行的容器
sudo docker attach cnt_name
查看所有容器,-a所有,不加a只现实运行状态的容器
sudo docker ps -a
sudo docker ps -n 5 #显示最后5个容器
获取更多容器信息
sudo docker inspect cnt_name
删除容器
sudo docker rm cnt_name
sudo docker rm `sudo docker ps -a -q` #删除所有容器,-q表示只返回容器ID
从docker hub 下载镜像
sudo docker pull fedora:21
从dcoker hub 上查找镜像
sudo docker search ubuntu
先创建一个容器
sudo docker run -i -t ubuntu /bin/bash
安装nginx
apt-get -yqq update
apt-get -y install nginx
exit
查看容器ID
sudo docker ps -l -q
提交该容器
sudo docker commit 6689b00fa0d2 hankdai/nginx
查看刚提交的容器
sudo docker inspect hankdai/nginx
sudo docker push hankdai/nginx #推送到docker hub
可以尝试下使用图形界面下进行docker相关的管理,这里我们使用uifd/ui-for-docker
docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker
访问http://localhost:9000
创建我们的第一个Dockerfile
mkdir php_docker_first
cd php_docker_first
创建Dockerfile,内容如下
FROM php:7.4-cli
COPY . /usr/src/myapp
WORKDIR /usr/src/myapp
EXPOSE 8800
CMD [ "php", "-S", "0.0.0.0:8800"]
在当前目录创建一个index.php文件
<?php
echo "hello docker!!";
生成镜像,这里需要登陆阿里云容器服务创建一个命名空间
docker build . -t registry.cn-hangzhou.aliyuncs.com/gangbo/test_php:1.0
使用刚生成的镜像启动一个容器,设置8800映射8800
sudo docker run -d -p 8800:8800 registry.cn-hangzhou.aliyuncs.com/gangbo/test_php:1.0
访问` http://localhost:8800